在“ C ++入门5”中说:
如果基类具有不可访问的或已删除的析构函数,则派生类中的综合默认构造函数和复制构造函数被定义为已删除,因为无法破坏派生对象的基部。
class A { virtual ~A() = delete; }; class B : public A { public: //B(){} // synthesized as a deleted member //B(const B&){} // synthesized as a deleted member //~B() is synthesized as deleted member };
我得到了背后的原因,但是对我来说重要的是:这是否意味着从具有无法访问/删除的析构函数的基类派生的类也阻止了用户定义的ctor,copy-ctor和dtor?