C++ C+中的无对象类+;

C++ C+中的无对象类+;,c++,c++11,C++,C++11,如何创建一个不允许创建其对象、没有任何纯虚函数、没有私有构造函数的类。但是,派生类继承的成员函数和C++中的成员函数可以重新定义吗?甚至可以创建这样的类吗?< p>一种方法是使构造函数保护< /代码>。 另一种方法是使析构函数和运算符成为新的受保护的。创建具有静态和自动存储持续时间的对象以及删除(但不适用于新建)需要公共析构函数 例如: struct X { protected: ~X(); static void* operator new(size_t); stat

如何创建一个不允许创建其对象、没有任何纯虚函数、没有私有构造函数的类。但是,派生类继承的成员函数和C++中的成员函数可以重新定义吗?甚至可以创建这样的类吗?

< p>一种方法是使构造函数<代码>保护< /代码>。
另一种方法是使析构函数和
运算符成为新的
受保护的。创建具有静态和自动存储持续时间的对象以及
删除
(但不适用于
新建
)需要公共析构函数

例如:

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仅仅是基于好奇心吗??