首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于怎样让一个类不能被继承的有关问题

2012-03-25 
关于怎样让一个类不能被继承的问题有人告诉我在effectivec++这本书里说把基类的构造函数声明成私有的便不

关于怎样让一个类不能被继承的问题
有人告诉我在effective   c++这本书里说把基类的构造函数声明成私有的便不可以
被继承,
 
但我觉得

把构造函数声明为私有的同时,我声明一个类来继承他   然后把这个派生类声明为原基类的友元   ,那是不是可以继承了?

[解决办法]
“我声明一个类来继承他 然后把这个派生类声明为原基类的友元”
这话说得,你能声明它为友元,那还不如直接把构造/析构函数改回public呢。
[解决办法]
是不是有点钻牛角尖了........

[解决办法]
哎,既然这样,那么~
MEYER说的是对的,这样的确就保证了不能继承
因为你所说的通过友元来继承是一种赐予的能力
“友元”是赐予的权力不是索得的
要不能给他人继承的类赐予友元的资格才可以
所以说只要此类不赐予任何人友元的资格就可以保证了

一旦赐予友元资格可以说就赐予他一个特权,当然可以摆脱私有构造的限制~
[解决办法]
http://community.csdn.net/Expert/topic/5558/5558487.xml?temp=.3178064
[解决办法]
不要继承,是怕有些人错误的继承了,其实用个doc说明一下就行了。。

我看std::string就没有人去继承它,也不见啥un public ctor.

热点排行