要使一个类不能被继承,那么可以把该类(基类)的构造函数给成私有的,派生类中就调用不了该构造函数,则无法继承。这也是c++98中给出方法。
#include<iostream>
using namespace std;
class A//C++98中的方法,把基类的构造函数给成私有的,派生类调用不辽它,无法继承
{
public:
static A GetA()//静态函数,不然只能作为类的成员函数调用,则必须要先有类的对象
{
return A();
}
private:
A()
{
//此处构造函数
}
int num;
};
int main()
{
return 0;
}
在c++11中,有了更简单方法,用新关键字final禁止继承。使用如下:
class B final//则B类不能被继承
{
//.......
};