首页 > 代码库 > 如何定义一个不能被继承的类

如何定义一个不能被继承的类

class VString{//默认的存取控制方式就是私有
    VString();
    VString(char*);
    VString(string);
    friend class String;
};
class String:virtual VString{
public:
    String(){
        //写你的代码
    }
    String(char*){
        //写你的代码
    }
    String(string){
        //写你的代码
    }
};


String无法被继承,因为继承它的类会试图调用VString的私有构造函数。而String是Vstring的友元类,所以能继承VString。

或者用C++11的标准,加入关键词final

Reference

[1].http://ilewen.com/questions/2910

[2].http://blog.csdn.net/lazybin/article/details/8372793

如何定义一个不能被继承的类