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++如何生成一个不能被继承的类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抽象代数习题整理
- 下一篇: python强度公式计算_python