派生类没有默认构造函数吗?

2024-12-17 18:04:07
推荐回答(2个)
回答1:

C++语法中的规定是,如果你没有为一个类定义一个构造函数,那么编译器会默认生成一个无参的构造函数。
那会就会发生这样的情况。
class A
{
A (int );
}
class B : public A
{
}
B类的编译会不通过,原因是编译器为B类生成默认构造函数,这个默认的构造函数只会试图调用所有基类的无参构造函数,而A类又没有,所以……

回答2:

不对,无参构造函数是默认的,你不写也不会报错