我不希望派生类继承Base类的构造函数

时间:2013-07-17 16:24:29

标签: c++ class inheritance

因为它位于标题处。

以下是示例:

#include <iostream>

using namespace std;

class Base {
private:
    int nSize;

public:
    Base(){
        cout << "I'm Base constructor" << endl;
    }
};

class Derived : public Base {
    int nMaxSize;

public:
     Derived(){
        cout << "I'm Derived constructor" << endl;
    }
};

int main(){
    Derived obj;

    return 0;
}

结果:

I'm Base constructor
I'm Derived constructor

1 个答案:

答案 0 :(得分:3)

你别无选择。您可以做的最好的事情是将标志传递给基础构造函数,从而禁用您不想要的内容。但这表明设计不好。