在C++中调用构造函数的方式有如下几种:
A a = A();//调用默认构造函数
A a = A(xx);//调用带参的构造函数
A a(xx);//调用带参的构造函数的简写形式
A a;//调用默认构造函数的简写形式
class A
{
public:
A(int a)
{
}
};
class B : public A
{
};
int main()
{
B b();
}
B b();其实是声明了一个函数,该函数没有参数,返回B类型的变量。整个过程没有类B变量的定义,所以没有触发编译器去合成B的构造函数,所以没有报错