c++如何生成一个不能被继承的类
生活随笔
收集整理的这篇文章主要介绍了
c++如何生成一个不能被继承的类
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
在java 中final 可以定义 一个类不能被继承,c++中没有这个,但是c++可以实现这个类。
大家知道union 是不能被继承的
1.union,匿名类
union finaClass
{
public:
class
{
.......。。。。。。。
} data;
};
finalClass finaData;
这样匿名类只能用,不能被继承。
2.利用虚继承
template<typename T> class Base
{
public :
friend T;
private :
Base(){ cout<<"base"<<endl;}
~Base(){}
};
class FinalClass :virtual public Base<FinalClass>
{
public :
FinalClass()
{
cout<<"final class"<<endl;
}
};
class CC :public FinalClass // 错误,CC无法访问 Base构造函数,该构造函数为private ;
{
public :
CC(){cout<<"cc"<<endl;}
};
总结
以上是生活随笔为你收集整理的c++如何生成一个不能被继承的类的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 抽象代数习题整理
- 下一篇: QT之实现斗鱼直播PC客户端