第10、11周阅读程序(1)

来源:互联网 发布:怎么攻破一个软件 编辑:程序博客网 时间:2024/04/30 08:34
</pre><pre class="cpp" name="code">
/* * Copyright(c)2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:第10、11周阅读程序(1) * 作者:于子娴 * 完成日期:2016.5.10 * 版本号:v1.0 * * 问题描述: * 输入描述: * 程序输出: */#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(1),所以执行Data的构造函数,输出“C”;然后执行d1(2),因为d1是Data的一个对象,所以执行Base的构造函数,输出“A”;接着执行Derived类的构造函数,输出“E”;然后执行析构函数,因为后构建的先析构,所以与前边的顺序相反,依次输出“F”、“B”、“D”。


0 0
原创粉丝点击