http://www.cnblogs.com/JCSU/articles/1094064.html
示例一:继承中多态和拷贝构造函数
注 意:
(1) 每个类只能有一个析构函数。析构时,拷贝构造函数也会被析构。
(2) 析构与构造的顺序正好相反。
(3) 如果类中显式定义了拷贝构造函数和赋值函数,系统就不会使用默认的拷贝构造函数和赋值函数。
(4) 如果基类中定义了虚函数,当使用指向基类的指针访问派生类时会产生动态绑定,产生多态现象。当删除该基指针时,会调用基类的析构函数。
(5) 注意拷贝构造函数与赋值函数的被调用场合。
以下程序的运行结果中,黄底的构造函数个数与橙底的析构造函数个数相等,构造与析构顺序相反


















































































运行结果:
A constructor
B constructor
A's copy constructor
--------------------------
A constructor
B constructor
A's copy constructor
--------------------------
A constructor
B constructor
A constructor
A's assignment operator!
--------------------------
A constructor
B constructor
C constructor
book in A
in C
--------------------------
A destructor
--------------------------
A destructor
B destructor
A destructor
A destructor
B destructor
A destructor
A destructor
B destructor
A destructor
示例二:非继承中的多态









































运行结果:
Function f in class A
Function g in class A
Function f in class B
Function g in class A
Function h in class C
Function g in class A