不能被继承的类
来源:互联网 发布:确认密码 javascript 编辑:程序博客网 时间:2024/06/05 05:43
/*何如创建一个不能被继承的类呢?c++语法规定虚基类必须由子类显示初始化。如果你不在初始化列表里显示调用虚基类的构造函数,则编译器会调用默认构造函数;如果类没有默认构造函数,则编译不通过。利用这个特点,创建一个private构造函数的类A,并让类B成为他的友元类,让类B虚继承类A;此时类B就不能被继承了。*/class OnlyObgect;namespace { class OnlyObjectBase{ friend class OnlyObgect; private: OnlyObjectBase(){} virtual ~OnlyObjectBase(){} };}/*这里用到了匿名命名空间,达到隐藏类的作用实际上编译器会为每一个匿名命名空间生成一个全局唯一的命名空间因此匿名命名空间会被编译器解析为namespace globl_unique_name{ //...........}using namespace globl_unique_name这样匿名命名空间,就不会被外界使用,因为外界无法得到编译器生成的命名空间,*/class OnlyObgect :virtual public OnlyObjectBase{public: OnlyObgect(){} ~OnlyObgect(){} void show(){ cout << "cannot been derived class " << endl; }};//class BBB :public OnlyObgect{////};int main0(){ OnlyObgect oo; oo.show(); //BBB b; getchar(); return 0;}
阅读全文
0 0
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能被继承的类
- 不能继承的类
- 不能继承的类
- c++写不能被继承的类
- jQuery快速收集表单信息
- Python PIL支持的图像文件格式
- 写时拷贝技术
- 编译ffmpeg例程时,报错:undefined reference
- C语言幸运儿问题
- 不能被继承的类
- 如何用sublime text编写微信小程序代码
- JavaWeb学习心得之Cookie
- Java程序员该如何提升让自己成为高薪架构师?
- Servlet的三种创建方式-----------继承javax.servet.GenericServlet类(适配器模式)
- Django 视图层之视图函数(views) 笔记
- ZooKeeper学习第三期---Zookeeper命令操作
- 程序实现汉字转换为拼音
- POJ3068--"Shortest" pair of paths(最小费用流)