C++如何禁止父类实例化
时间: 2024-05-08 14:11:31 浏览: 171
屏蔽父类成员C#程序
C++中可以通过将父类的构造函数声明为私有(private)来禁止父类的实例化。这样一来,子类就无法直接通过父类的实例来初始化子类的父类部分。以下是一个示例代码:
```cpp
class Parent {
private:
Parent() {} // 将构造函数声明为私有
// 其他成员变量和成员函数
};
class Child : public Parent {
public:
Child() {
// 子类的构造函数
}
// 其他成员变量和成员函数
};
int main() {
// Parent p; // 禁止实例化父类对象
Child c; // 子类对象可以正常实例化
return 0;
}
```
在上述代码中,将父类`Parent`的构造函数声明为私有,这样在`main`函数中就无法实例化父类对象`Parent p`。但是子类`Child`可以正常实例化,因为子类可以继承父类的私有成员,但无法直接访问。这样就实现了禁止父类实例化的效果。
阅读全文