本周课程中 侯捷老师提到了以下情况到底是Base part会先构造还是Component part先构造 如下图:
在此类情况下 其实是底层实现的问题 具体由不同的编译器决定不同的实现 可能会是Base先 也可能会是Component先
但是大多数的编译器中 会是父类部分先被构造出来 然后才是Component部分 而析构则与之相反
当然 到底谁先谁后 不会影响环境运行的结果
我在自己的Macbook上使用Xcode在gcc下编译了如下代码(可以看到 我的编译器也是符合这个规律的)
本周课程中 侯捷老师提到了以下情况到底是Base part会先构造还是Component part先构造 如下图:
在此类情况下 其实是底层实现的问题 具体由不同的编译器决定不同的实现 可能会是Base先 也可能会是Component先
但是大多数的编译器中 会是父类部分先被构造出来 然后才是Component部分 而析构则与之相反
当然 到底谁先谁后 不会影响环境运行的结果
我在自己的Macbook上使用Xcode在gcc下编译了如下代码(可以看到 我的编译器也是符合这个规律的)