C++构造函数与析构函数的调用关系讨论
2013-05-29 12:05
323 查看
这是网上经常讨论的问题,今天自己也获得了一些心得,特此记录.
首先,构造函数的调用次序是递归地从派生子类依次向上进行调用,即先完成父(基)类的构造
析构函数是先派生类,然后向上调用父(基)类的析构.
但有一些比较重要的要讨论一下:
在构造函数和析构函数中,所有的函数都不能变成多态.
将析构函数声明为虚函数,可以使得里氏替换原则时析构函数可以从正确的子类开始进行链式调用.
首先,构造函数的调用次序是递归地从派生子类依次向上进行调用,即先完成父(基)类的构造
析构函数是先派生类,然后向上调用父(基)类的析构.
但有一些比较重要的要讨论一下:
在构造函数和析构函数中,所有的函数都不能变成多态.
将析构函数声明为虚函数,可以使得里氏替换原则时析构函数可以从正确的子类开始进行链式调用.
相关文章推荐
- 【c++继承】继承关系中派生类对象构造函数和析构函数调用顺序
- c++ 构造函数 析构函数调用
- 【C++】不要在构造函数或析构函数内调用虚函数
- C++继承中构造函数、析构函数调用顺序及虚析构函数
- C++中构造函数和析构函数调用的时机
- <C++>13.构造函数和析构函数的调用顺序
- C++和java中构造函数与析构函数的调用顺序
- C++中构造函数与析构函数的调用顺序
- C++之派生类的构造函数和析构函数调用顺序
- 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结
- C++ 派生类构造函数、析构函数调用 [大三TJB_708]
- 《Effective C++ 》条款9:永远不要在构造函数或析构函数中调用虚函数
- C++继承中构造函数和析构函数的调用顺序
- C++中, 构造函数和析构函数能不能被显示调用?
- C++面向对象复习(三)——构造函数与析构函数的调用顺序
- Java程序员学习C++之构造函数和析构函数调用的时机
- C++ 《Effective C++ 》条款9:永远不要在构造函数或析构函数中调用虚函数
- C++中构造函数和析构函数避免调用虚函数的问题
- C++ 构造函数,赋值构造函数,析构函数,赋值构造函数的调用次序
- C++继承中构造函数、析构函数调用顺序及虚函数的动态绑定