C++中若某类a从基类b、虚基类c派生而来,且该类中具有对象成员d,则在构造该类的对象时执行构造函数的顺序?
构造一个类的对象的一般顺序是:class a:public b, virtual public c{}; 1.如果该类有直接或间接虚基类,先执行虚基类的构造函数; 2.如果该类有其他基类,按照他们在继承声明列表中出现的顺序分别执行构造函数,但是不再执行它们的虚基类的构造函数。 3.按照在类定义中出现的顺序,对派生类中新增的成员对象进行初始化。 4.执行构造函数函数体。 所以本题构造函数执行顺序为:c,b,d,a;
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-11 06:44:15