|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
class A { public: A() { } ~A() { cout<<"~A"<<endl; } }; class B:public A { public: B(A &a):_a(a) { } ~B() { cout<<"~B"<<endl; } private: A _a; }; int main(void) { A a; //很简单,定义a的时候调用了一次构造函数 B b(a); } |
output:
~B
~A
~A
~A
解析:
基类构造析构函数、子类构造析构函数和子类成员变量构造析构函数的调用顺序
原文:http://www.cnblogs.com/upup-2015/p/5050379.html