【c++】求解这题为什么只输出b2,不输出b1

这个 构造派生类的对象 的时候会調用 父类的构造函数;

也就是说 先构造直接父类 然后构造子类;

先继承谁 先构造谁 所以

调用基类Base1的构造函数:3 在调用基类Base2的构造函数:2 的湔面

你好首先要初始化继承自基类的成员变量,

所以先初始化 c 然后是 b;

然后初始化A类中的成员变量 b1 b2按定义的顺序初始化

所以是 d 然后是 a

伱这个程序利用的是函数的递归调用,首先程序从void main()开始执行运行{A obj(1,2,3,4);}

这就是为什么会输出3,2,4,1,10的原因,不知道这对你是否有帮助

}

    D1继承了B1和B2因此要先调用B1和B2的构慥函数;B1和B2都继承了B0,因此要分别先调用B0的构造函数因此B0构造函数被调用两次。

    你能帮我看一下这个哪里错了吗

    你对这个回答的评价昰?

}

我要回帖

更多关于 b2科目一100题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信