类继承时,构造函数和析构函数的调用次序
2015-05-08 18:02
169 查看
比如,apple类是fruit类的子类,当执行apple a("红富士");的时候,将先调用fruit类的构造函数,再调用apple类的构造函数
同理,假设在程序里先后声明了两个apple实例:
apple a(“红富士");
apple b("青香蕉");
当函数退出时,要先销毁b,再销毁a(因为b在栈顶)。
而调用析构函数时,先调用apple的析构函数,再调用fruit的析构函数。
综上可见,构造函数和析构函数的调用次序恰好反了个个儿。
Java和C++都是这么个理儿。
同理,假设在程序里先后声明了两个apple实例:
apple a(“红富士");
apple b("青香蕉");
当函数退出时,要先销毁b,再销毁a(因为b在栈顶)。
而调用析构函数时,先调用apple的析构函数,再调用fruit的析构函数。
综上可见,构造函数和析构函数的调用次序恰好反了个个儿。
Java和C++都是这么个理儿。
相关文章推荐
- 继承中构造函数和析构函数的调用次序
- C++继承中构造函数、析构函数调用顺序及虚函数的动态绑定
- C++继承中构造函数、析构函数调用顺序及虚函数的动态绑定
- 构造函数析构函数调用次序
- C++继承中构造函数和析构函数的调用顺序
- 基类子类构造函数与析构函数调用次序
- C++继承中构造函数、析构函数调用顺序及虚析构函数
- 类继承中构造函数和析构函数的调用
- C++继承中构造函数、析构函数调用顺序及虚析构函数
- 继承中构造函数和析构函数地调用顺序
- 继承中的构造和析构 继承和组合混搭情况下,构造函数、析构函数调用顺序研究
- 有继承关系的构造函数和析构函数的执行次序
- 继承中构造函数和析构函数的调用顺序
- C++类的继承中构造函数和析构函数调用顺序例子
- 类继承中构造函数和析构函数的调用
- C++继承中析构函数 构造函数的调用顺序以及虚析构函数
- 类继承中构造函数和析构函数的调用
- 类继承中构造函数和析构函数的调用
- 第十一周 阅读程序4 类的继承构造函数与析构函数调用的先后顺序
- 类继承中构造函数和析构函数的调用