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