定义一个Document类,有数据成员name,从Document派生出Book类,增加数据成员pageCount。观察基类与派生类的构造函数和析构函数的调用顺序。

#include <iostream>
#include <string>
using namespace std;
class Document{
	public:
	    Document(string aname):name(aname){
	    	cout << "Constructing Document" << endl;
		}	
		~Document(){
			cout << "Destructing Document" << endl;
		}
	private:
		string name;
};
class Book:public Document{
	public:
	    Book(string aname,int apageCount):Document(aname),pageCount(apageCount){
	    	cout << "Constructing Book" << endl;}
		~Book(){
			cout << "Destructing Book" << endl;
		}
	private:
		int pageCount;
};
int main() {
	Book a("朝花夕拾",200);
    return 0;
}