在生成一个派生类的对象时,只调用派生类的构造函数。
C++类:构造函数(对象创建时调用)、析构函数(对象销毁时调用)、虚函数(实现多态)。构造函数不能为虚。
构造函数不能是虚函数(虚表在构造函数完成后才建立)。析构函数可以且通常应该为虚函数(防止内存泄漏)。
【考点】C++构造函数执行顺序|类继承初始化机制|对象生命周期
这道题卡住绝大多数考生的地方:以为派生类构造函数是“唯一起点”。命题人利用初学者“派生类构造函数最先执行”的直觉,在六级必考范围内精准打击对C++对象构造顺序的理解。
当创建派生类对象时,C++运行时先调用基类构造函数完成基类成员初始化,再执行派生类构造函数。这是C++对象构造的固定规则,无论派生类构造函数是否显式调用基类构造函数(默认调用默认基类构造函数)。