第十周项目—阅读程序,写出执行结果(1)
2016-05-05 21:06
232 查看
*文件名称:test.cpp *作者:杨驰 *完成日期:2016年5月5日 *问题描述:阅读程序,写出执行结果 */ #include <iostream> using namespace std; class Data { public: Data(int i):x(i){cout<<"A";} ~Data(){ cout<<"B";} private: int x; }; class Base { public: Base(int i):b1(i){cout<<"C";} ~Base(){ cout<<"D";} private: int b1; }; class Derived:public Base { public: Derived (int i,int j):Base(i),d1(j){ cout<<"E"; } ~Derived(){cout<<"F";} private: Data d1; }; int main() { Derived obj(1,2); return 0; }
运行结果:
过程分析:
Base是派生类的基类,其继承类型为public。程序中的主函数中声明了一个派生类Derived 的对象,生成对象obj时调用了
派生类的构造函数,在执行派生类Derived的构造函数时,首先调用基类Base的构造函数,然后在调用内嵌对象的构造函数。
分别输出C,A,然后执行派生类的构造函数,输出E,然后按照相反循序,依次执行各个类的析构函数,输出FBD。
相关文章推荐