社区
C语言
帖子详情
请教:如何防止一个类被其他类继承,类似JAVA中的final修饰符
qfsb_p
2003-05-30 11:04:27
我现在想到的方法有如下几种,但是效果不太理想,请求大家帮忙!
方法一:利用私有构造函数,然后提供public的方法创建对象或者设定友元。
方法二:利用类的嵌套(私有的子类)。
在下抛砖!
...全文
249
15
打赏
收藏
请教:如何防止一个类被其他类继承,类似JAVA中的final修饰符
我现在想到的方法有如下几种,但是效果不太理想,请求大家帮忙! 方法一:利用私有构造函数,然后提供public的方法创建对象或者设定友元。 方法二:利用类的嵌套(私有的子类)。 在下抛砖!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hookuy
2003-07-07
打赏
举报
回复
实现final类(不允许被派生)
namespace Private{
class NonDerivableHelper
{
NonDerivableHelper() {}
friend class NonDerivable;
};
}
#ifdef NDEBUG
#define FINAL_CLASS
#else
#define FINAL_CLASS : private virtual Private::NonDerivableHelper
#endif
class NonDerivable FINAL_CLASS
{
...
};
yic_sword
2003-07-04
打赏
举报
回复
搞不懂!sealed修饰符不就是用来防止继承的吗?
qfsb_p
2003-05-30
打赏
举报
回复
这两个办法都是从方法一级上进行控制,但是我是想有没有一种办法可以从类的级别上来处理,也就是和java类似的解决思路
耙子
2003-05-30
打赏
举报
回复
第一个方法应该查差不多。
zxi666
2003-05-30
打赏
举报
回复
你的第一种方法为什么说效果不理想?
Zark
2003-05-30
打赏
举报
回复
写成COM组件,除使用aggregate方法,是无法继承的.(大多数人认为aggregate不是继承).
genewujing
2003-05-30
打赏
举报
回复
看一下effective c++上面有介绍!
pzytony
2003-05-30
打赏
举报
回复
up
up
liubear
2003-05-30
打赏
举报
回复
不好办,帮你UP
qfsb_p
2003-05-30
打赏
举报
回复
刚才没有留意,现在仔细想了想,确实有道理,谢谢!
yizhenfeng
2003-05-30
打赏
举报
回复
呵呵,
多谢liu_feng_fly(笑看风云 搏击苍穹 衔日月) 的认可!
liu_feng_fly
2003-05-30
打赏
举报
回复
to qfsb_p:
yizhenfeng的方法是很好的,比你提出的解决方法高明很多,而不是差不多呀
qfsb_p
2003-05-30
打赏
举报
回复
yizhenfeng(一阵风) 和Eagle_118(语夜) 的方法实际和我列出来的差不多,还有没有更好的方案?
5:30结帖!
Eagle_118
2003-05-30
打赏
举报
回复
一种不是很常用的方法:函数中的类是不能继承的
void func()
{
class FinalClass{};
}
yizhenfeng
2003-05-30
打赏
举报
回复
见C++ View第一期:
实现final类(不允许被派生)
namespace Private{
class NonDerivableHelper
{
NonDerivableHelper() {}
friend class NonDerivable;
};
}
#ifdef NDEBUG
#define FINAL_CLASS
#else
#define FINAL_CLASS : private virtual Private::NonDerivableHelper
#endif
class NonDerivable FINAL_CLASS
{
...
};
实现的很漂亮。
易语言源码易模块添加图标
易语言源码易模块添加图标
testttttttttttttttttt
testttttttttttttttttt
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章