2021年7月9日

摘要: 1) C++中基类采用virtual虚析构函数是为了防止内存泄漏。 2) 纯虚析构函数一定得定义,因为每一个派生类析构函数会被编译器加以扩张,以静态调用的方式调用其每一个虚基类以及上一层基类的析构函数。 阅读全文
posted @ 2021-07-09 19:26 超人不会灰啊 阅读(105) 评论(0) 推荐(0) 编辑
 
摘要: 1) 构造函数顺序 ① 基类构造函数。如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序,而不是 它们在成员初始化表中的顺序。 ② 成员类对象构造函数。如果有多个成员类对象则构造函数的调用顺序是对象在类中被声明的顺序, 而不是它们出现在成员初始化表中的顺序。 ③ 派生类构造函数。 2) 阅读全文
posted @ 2021-07-09 19:20 超人不会灰啊 阅读(297) 评论(0) 推荐(0) 编辑
 
摘要: 1) 在C++中,提倡不在构造函数和析构函数中调用虚函数; 2) 构造函数和析构函数调用虚函数时都不使用动态联编,如果在构造函数或析构函数中调用虚函数,则 运行的是为构造函数或析构函数自身类型定义的版本; 3) 因为父类对象会在子类之前进行构造,此时子类部分的数据成员还未初始化,因此调用子类的虚函数 阅读全文
posted @ 2021-07-09 19:16 超人不会灰啊 阅读(271) 评论(0) 推荐(0) 编辑