【 Geekband 第三周笔记拓展:Inheritance + Composition 关系下的构造和析构 】

本周课程中 侯捷老师提到了以下情况到底是Base part会先构造还是Component part先构造 如下图:


【 Geekband 第三周笔记拓展:Inheritance + Composition 关系下的构造和析构 】_第1张图片

在此类情况下 其实是底层实现的问题 具体由不同的编译器决定不同的实现 可能会是Base先 也可能会是Component先

但是大多数的编译器中 会是父类部分先被构造出来 然后才是Component部分 而析构则与之相反

当然 到底谁先谁后 不会影响环境运行的结果

我在自己的Macbook上使用Xcode在gcc下编译了如下代码(可以看到 我的编译器也是符合这个规律的)



【 Geekband 第三周笔记拓展:Inheritance + Composition 关系下的构造和析构 】_第2张图片


【 Geekband 第三周笔记拓展:Inheritance + Composition 关系下的构造和析构 】_第3张图片

你可能感兴趣的:(【 Geekband 第三周笔记拓展:Inheritance + Composition 关系下的构造和析构 】)