C++ C+中的无对象类+;
如何创建一个不允许创建其对象、没有任何纯虚函数、没有私有构造函数的类。但是,派生类继承的成员函数和C++中的成员函数可以重新定义吗?甚至可以创建这样的类吗?< p>一种方法是使构造函数<代码>保护< /代码>。C++ C+中的无对象类+;,c++,c++11,C++,C++11,如何创建一个不允许创建其对象、没有任何纯虚函数、没有私有构造函数的类。但是,派生类继承的成员函数和C++中的成员函数可以重新定义吗?甚至可以创建这样的类吗?< p>一种方法是使构造函数保护< /代码>。 另一种方法是使析构函数和运算符成为新的受保护的。创建具有静态和自动存储持续时间的对象以及删除(但不适用于新建)需要公共析构函数 例如: struct X { protected: ~X(); static void* operator new(size_t); stat
另一种方法是使析构函数和
运算符成为新的
受保护的。创建具有静态和自动存储持续时间的对象以及删除
(但不适用于新建
)需要公共析构函数
例如:
struct X {
protected:
~X();
static void* operator new(size_t);
static void* operator new[](size_t);
};
int main() {
X x; // error: destructor is non-public.
X* p = new X; // error: operator new is non-public.
}
请详细说明。乍一看,我本以为是“构造函数”和“受保护的”……您面临的确切问题是什么?Q仅仅是基于好奇心吗??