一个基类,让它不能实例化,怎么做最简单方便?

ooolinux 2018-05-23 10:07:30
加精
一个基类,有构造函数和虚析构函数,让它不能实例化,怎么做最简单方便?
...全文
3304 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wise-Man 2018-06-06
  • 打赏
  • 举报
回复
要么纯虚类 要么私有构造函数
ooolinux 2018-06-06
  • 打赏
  • 举报
回复
对对
游北亮 2018-06-05
  • 打赏
  • 举报
回复
引用 20 楼 a34140974 的回复:
[quote=引用 17 楼 youbl 的回复:] 基类构造函数里抛出异常不可以吗? 即使设置为私有,也可以反射创建吧?
小板凳都搬来了,就看你怎么反射。。反射成功我把分全给你[/quote] 哈哈哈,我不懂,是以C#或java的经验说的,所以我的回答也打了问号,只是提供思路。
待续_1006 2018-06-05
  • 打赏
  • 举报
回复
要么构造设置权限,要么有纯虚函数
月凉西厢 2018-06-04
  • 打赏
  • 举报
回复
引用 17 楼 youbl 的回复:
基类构造函数里抛出异常不可以吗? 即使设置为私有,也可以反射创建吧?
小板凳都搬来了,就看你怎么反射。。反射成功我把分全给你
ooolinux 2018-05-28
  • 打赏
  • 举报
回复
引用 17 楼 youbl 的回复:
基类构造函数里抛出异常不可以吗? 即使设置为私有,也可以反射创建吧?
不懂~
游北亮 2018-05-28
  • 打赏
  • 举报
回复
基类构造函数里抛出异常不可以吗? 即使设置为私有,也可以反射创建吧?
xiaoxiangqing 2018-05-24
  • 打赏
  • 举报
回复
把构造函数设置为私有
ooolinux 2018-05-24
  • 打赏
  • 举报
回复
谢谢楼上、上回复
ooolinux 2018-05-23
  • 打赏
  • 举报
回复
引用 5 楼 donjin9 的回复:
有虚析构函数
如果没有的话,或许可以写上一个纯虚的析构函数,这样就变抽象类了。
donjin9 2018-05-23
  • 打赏
  • 举报
回复
有虚析构函数
ooolinux 2018-05-23
  • 打赏
  • 举报
回复
引用 1 楼 paschen 的回复:
方法一:把你的虚函数设置成纯虚函数
没有纯虚函数接口。
ooolinux 2018-05-23
  • 打赏
  • 举报
回复
引用 2 楼 paschen 的回复:
方法二:把构造函数设置为私有
因为有继承,设为protected可以的。
paschen 版主 2018-05-23
  • 打赏
  • 举报
回复
方法二:把构造函数设置为私有
paschen 版主 2018-05-23
  • 打赏
  • 举报
回复
方法一:把你的虚函数设置成纯虚函数
AlbertS 2018-05-23
  • 打赏
  • 举报
回复
引用 10 楼 u010165006 的回复:
[quote=引用 9 楼 xuzzzhen123 的回复:] [quote=引用 3 楼 u010165006 的回复:] [quote=引用 2 楼 paschen 的回复:] 方法二:把构造函数设置为私有
因为有继承,设为protected可以的。[/quote] 嗯,就用这个方法吧,简单,而且不用调整新接口。[/quote] 现在是这么做的。[/quote]
ooolinux 2018-05-23
  • 打赏
  • 举报
回复
引用 9 楼 xuzzzhen123 的回复:
[quote=引用 3 楼 u010165006 的回复:] [quote=引用 2 楼 paschen 的回复:] 方法二:把构造函数设置为私有
因为有继承,设为protected可以的。[/quote] 嗯,就用这个方法吧,简单,而且不用调整新接口。[/quote] 现在是这么做的。
天外怪魔 2018-05-23
  • 打赏
  • 举报
回复
引用 3 楼 u010165006 的回复:
[quote=引用 2 楼 paschen 的回复:] 方法二:把构造函数设置为私有
因为有继承,设为protected可以的。[/quote] 嗯,就用这个方法吧,简单,而且不用调整新接口。
ooolinux 2018-05-23
  • 打赏
  • 举报
回复
引用 7 楼 DelphiGuy 的回复:
C++不支持interface,否则用interface是最简单的,绝对不能实例化,C++中的标准方法应该是使用抽象类
问题是没有纯虚函数,不可能加个没用的,构造函数非public也是可以的,C++自由其实就是变化多。
  • 打赏
  • 举报
回复
C++不支持interface,否则用interface是最简单的,绝对不能实例化,C++中的标准方法应该是使用抽象类

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧