C++有多个构造函数怎么调用的时候到底调用哪个

根据C++对于虚基类的构造函数怎么調用“最晚辈派生”调用规则所有的虚基类的构造函数怎么调用都要由 a 的构造函数怎么调用最先调用,系统中有两个虚基类:c 和 e但由於 e 是 c 的基类,所以 e 的构造函数怎么调用要先调用(这是第1)c 还有一个基类是 d,也要调用构造函数怎么调用(这是第2)然后才是调用 c 的構造函数怎么调用(这是第3)。

c 初始化完后再初始化 b,而 b 两个基类 d 和 ee 是虚基类,已经初始化过了然后是基类 d,要先调用其构造函数怎么调用 (这是第4)然后是 b 自己的构造函数怎么调用调用(这是第5)。

c 和 b 都初始化完成了最后调用 a 的构造函数怎么调用(这是第6)。

囷@SMNde意见不一致的地方在于E只需要构造一次

这个代码可以清晰的显示构造函数怎么调用的调用顺序和分别被谁调用

 

从下往上 运行 a 的构造函数怎么调用 必须先 运行 其父类的构造函数怎么调用

所以要运行 b c的构造函数怎么调用 虚基类的父类构造函数怎么调用先运行

先 运行c 的 构造函数怎么调用 必须运行 其父类的构造函数怎么调用 e d

e 是 虚基类的父类构造函数怎么调用先运行

但是 虚基类的构造函数怎么调用 只调用一次

也就是說 分为 b c 两部分看就好 比较清晰

构造函数怎么调用只能是在实例囮对象时自动调用的

你对这个回答的评价是?

可以 你只不过是顺便实例化了另外一个对象

你对这个回答的评价是

各位谁能帮忙详细解析一下以下程序

上面程序执行结果为:( )

我要回帖

更多关于 构造函数怎么调用 的文章

 

随机推荐