禁止类被实例化有两种方法:
设置纯虚函数,成为抽象类
将构造函数设置为私有,因为外部不能调用,所以无法实例化对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include <iostream>
using namespace std;
class A { public: int var1, var2; A(){ var1 = 10; var2 = 20; } virtual void fun() = 0; };
int main() { A ex1; return 0; }
|
类中设置纯虚函数,类就变成了抽象类,不能实例化对象,作为基类,让派生类去重写纯虚函数。如果派生类不重写纯虚函数,那么派生类也成为抽象类,不能实例化对象。