第五章:析构函数

  

  1.如果类没有定义析构函数,那么只有在class内含的成员变量自己的基类含有析构函数的情况下,才需要析构函数。(此时编译器会自动合成也不会被调用)。

  2.编译器扩展析构函数的顺序

  ①析构函数的本体被执行

  ②如果类拥有含有析构函数的类成员对象,则他们会以声明的相反顺序被调用。

  ③如果类含有一个vptr,现在被重新设定指向适当的基类的虚函数表。

  ④如果类有任何直接的非虚函数基类拥有析构函数,他们会以其声明顺序相反的顺序被调用。

  ⑤如果类有任何虚基类拥有析构函数,而且这个类是最底层(most derived)的派生类,则会按照原来的构造顺序的相反顺序调用虚基类的析构函数。

posted @ 2021-06-29 10:58  放不下的小女孩  阅读(86)  评论(0)    收藏  举报