sbi*_*sbi 13
由于我没有看到虚函数如何改变任何对象的破坏顺序,我假设你指的是虚拟继承场景中基类和数据成员的破坏顺序.
构造子对象
破坏只是建筑的反面,所以你只需要记住上面的内容.
但是,上面的四个规则是按顺序排列的,因为这是有道理的,如果你理解为什么这个顺序有意义,你甚至不必记住这四个规则,但可以从你的理解中推断它们(正如我刚才所做的那样).那么让我们检查一下这个顺序:
假设您已将析构函数正确声明为虚拟.
然后以完全相反的构造顺序进行破坏.
A)从最派生的类开始.
B)递归地重复以下步骤.
1)执行析构函数代码.
2)执行每个成员的析构函数(以创建的相反顺序)
3)执行父类的析构函数.(如果创建的顺序不止一个)
如果你使用虚拟继承,那么事情会略有不同,因为基类构造的顺序与正常情况不同.但是破坏的顺序总是与构造顺序相反.
| 归档时间: |
|
| 查看次数: |
5651 次 |
| 最近记录: |