如何为派生类创建构造函数? [复制]
Posted
技术标签:
【中文标题】如何为派生类创建构造函数? [复制]【英文标题】:How do I make a constructor for a derived class? [duplicate] 【发布时间】:2016-01-01 14:58:52 【问题描述】:我正在尝试为派生类创建构造函数。这样做似乎不起作用:
#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】:只需使用成员初始化器列表:
SecondClass(int x) : FirstClass(x)
【讨论】:
哦...我在问问题之前尝试过,但是像SecondClass(int x) : FirstClass(int x)
这样的错误方式,为什么那里不需要变量类型?
@ĬnfernalSeraphím 因为它实际上已经输入并作为参数传递了。以上是关于如何为派生类创建构造函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章