无默认构造函数的继承
Inheritance without default constructor?
由于继承的类没有默认构造函数,因此我明确调用了继承的类的构造函数,并且我仍然在B
的构造函数上获得红色underline(in vscode(:
" 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)
{}
};
错误是关于A
没有默认构造函数的。因为没有,因此无法初始化B
的A
部分。您需要类似的东西:
B(int a, int a1, int a2): A(a), A1(a1), A2(a2)
{}
相关文章:
- 继承:构造函数,初始化C++11中基类的类C数组成员
- 如果我真的真的想从 STL 容器继承,并且我继承构造函数并删除新运算符,会发生什么?
- C++继承:构造函数中的字符串构造
- 继承构造函数和其他变量的解决方法
- 带有此指针的模板类多重继承构造函数不起作用?
- 虚拟继承构造函数的组装
- C++继承构造函数的可见性
- 继承构造函数(ISO 2011 SEC 12.9第7段)
- 没有C 11的继承构造函数
- 使用关键字继承构造函数时出乎意料的行为
- 继承构造函数不允许类似数组的初始化
- 从基于QObject的类继承构造函数
- 继承构造函数并提供新的重载:无参数基构造函数似乎不参与重载解析
- C++多继承构造函数
- 具有独占继承构造函数的类的值初始化
- C++ 继承构造函数重写
- 继承构造函数与转发
- 默认情况下继承构造函数 noexcept(true)
- 有没有办法在继承构造函数时访问初始值设定项列表
- 从 std::function 继承构造函数时"function returning a function"