我刚刚读了Constructors and initialization of derived classes
我遇到了一个问题。代码如下。
问题是当我评论父亲的默认构造函数时。会有错误。
但是默认构造函数不应该由编译器自动创建?
谢谢你回答我的问题。
#include <iostream>
using namespace std;
class Father{
public:
int food;
Father(){} // father default constructor
Father(int f):food(f){
}
};
class Child: public Father{
public:
int beverage;
Child(int b):beverage(b){
}
};
int main(int argc, const char * argv[])
{
Child c(10);
return 0;
}
最佳答案
如果至少存在一个用户定义的构造函数,则不会生成默认构造函数。在您的情况下,您有一个。
关于c++ - 派生类构造函数初始化列表时,基类没有默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20173877/