C++设计一个不能被继承的类
时间: 2023-08-16 07:05:14 浏览: 109
在C++中,可以通过将类的构造函数声明为私有的,来防止该类被继承。因为如果一个类的构造函数是私有的,那么它的派生类就无法调用这个构造函数,也就无法继承这个类。
以下是一个示例代码:
```c++
class NonInheritableClass {
private:
NonInheritableClass() {}
~NonInheritableClass() {}
public:
static NonInheritableClass* getInstance() {
static NonInheritableClass instance;
return &instance;
}
};
```
在这个示例代码中,我们将类的构造函数和析构函数都声明为私有的,同时提供了一个静态的公有函数 `getInstance()` 来获取该类的实例。由于构造函数是私有的,所以它的派生类无法调用构造函数来创建实例,而只能通过调用 `getInstance()` 函数来获取该类的唯一实例。这样就可以保证该类不会被继承。
阅读全文