XJY*_*Y95 -2 c++ inheritance constructor
由于继承的类没有默认的构造函数,因此我显式调用了继承的类的构造函数,而在的构造函数上我仍然得到了红色下划线(在VScode中) B:
类“ A”不存在默认构造函数
类是否A必须获取默认构造函数?有没有什么办法解决这一问题?
这是简化的代码:
class A
{
public:
int a_;
A(int a): a_(a)
{}
};
class B: public A
{
public:
A A1;
A A2;
B(int a1, int a2): A1(a1), A2(a2)
{}
};
Run Code Online (Sandbox Code Playgroud)
该错误与A没有默认构造函数有关。由于没有,因此无法初始化的A部分B。您需要类似:
B(int a, int a1, int a2): A(a), A1(a1), A2(a2)
{}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |