1.派生类也不能继承基类的析构函数.
2.与构造函数不同的是,在派生类的析构函数中不用显式地调用基类的析构函数,因为每个类只有一个析构函数,编译器知道如何选择,无需程序员干涉.
3.构造函数和虚构函数的执行顺序:
如下:
1 #include <iostream> 2 3 using namespace std; 4 5 class A { 6 public: 7 A(); 8 ~A(); 9 }; 10 A::A() { cout << "A construction" << endl; } 11 A::~A() { cout << "A destruction" << endl; } 12 13 class B : public A { 14 public: 15 B(); 16 ~B(); 17 }; 18 B::B() { cout << "B construction" << endl; } 19 B::~B() { cout << "B destruction" << endl; } 20 21 class C : public B { 22 public: 23 C(); 24 ~C(); 25 }; 26 C::C() { cout << "C construction" << endl; } 27 C::~C() { cout << "C destruction" << endl; } 28 29 int main() 30 { 31 std::cout << "Hello World!\n"; 32 C c; //先执行A的构造函数然后是B,最后为C. 析构函数则相反 33 return 0; 34 }
结果:

转载来源:http://c.biancheng.net/view/2276.html
原文:https://www.cnblogs.com/ArrowToLanguage/p/12286216.html