在继承 C++ 中调用 main 中的参数化构造函数
Posted
技术标签:
【中文标题】在继承 C++ 中调用 main 中的参数化构造函数【英文标题】:Parametrized constructor calling in main in Inheritance C++ 【发布时间】:2020-11-19 14:23:10 【问题描述】:假设我有两个类 Mother 和 Daughter,其中 Daughter 公开地从 Mother 继承。 现在如果我想调用Daughter的参数化构造函数,该怎么做呢?
class Mother
int age;
public:
Mother(int a)
age = a;
court << "Mother Paramterized constructor called!\n " ;
;
class Daughter: public Mother
int height;
public:
Daughter(int h): Mother(x)
height = h;
court << "Daughter parametrized constructor!\n";
;
类定义如上(据我所知),但如何调用 Daughter 参数化构造函数?
【问题讨论】:
构造函数调用中的x
是什么?你的意思是Daughter(int a, int h): Mother(a)
?
错误且效率低下,如图所示。请参阅上面的评论,并始终尽可能使用初始化部分。
【参考方案1】:
你可以调用参数化的构造函数
class Mother
int age;
public:
Mother(int a) : age(a)
cout << "Mother Paramterized constructor called!\n " ;
;
class Daughter: public Mother
int height;
public:
Daughter(int a, int h): Mother(a), height(h)
cout << "Daughter parametrized constructor!\n";
;
int main()
Daughter d(10, 150);
输出:
Mother Paramterized constructor called!
Daughter parametrized constructor!
【讨论】:
以上是关于在继承 C++ 中调用 main 中的参数化构造函数的主要内容,如果未能解决你的问题,请参考以下文章