带有private constructors的class不能被继承

实例:

代码如下

#include<iostream>
using namespace std;

class Base
{
      private:
              Base(){cout<<"Base()"<<endl;}
};

class Derived:public Base
{
      public:
             Derived(){cout<<"Derived"<<endl;}
};

int main()
{
    getchar();
    return 0;
}
结果:

相关:

条款26:限制某个class所能产生的对象数量

条款26的一个补充小例子



你可能感兴趣的:(带有private constructors的class不能被继承)