如何为派生类创建构造函数?

时间:2016-01-01 14:58:53

标签: c++ inheritance constructor derived-class

我正在尝试为派生类创建构造函数。这样做似乎不起作用:

#include <iostream>

class FirstClass
{
public:
    int X;
    FirstClass(int x)
    {
        this->X = x;
    }
    int getXpow() { return pow(X, 2); }

};

class SecondClass : FirstClass
{
public:
    SecondClass(int x)
    {
        FirstClass::FirstClass(X);
    }

    int getXpow() { return pow(X, 3); }
};

int main()
{
    using namespace std;
    FirstClass FCobj(3);
    cout << FCobj.getXpow() << endl;
    SecondClass SCobj(3);
    cout << SCobj.getXpow() << endl;

    system("pause");
    return 0;
}

因为它在{的第SecondClass(int x)括号中说明了以下内容Error: no default constructor exists for class "FirstClass"。构造函数继承如何工作?

1 个答案:

答案 0 :(得分:1)

只需使用成员初始化列表:

SecondClass(int x) : FirstClass(x) {
}