第十周第十一周-阅读程序

/*
 *Copyright (c)2016,烟台大学计算机与控制工程学院
 *All rights reserved.
 *文件名称:main.cpp
 *作    者:刘涛
 *完成日期:2016年4月28号
 *版 本 号: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;
}


运行结果:

第十周第十一周-阅读程序_第1张图片

过程分析:Base是派生类的基类,为public,所以obj(1,2),给Base的构造函数赋初值,给Data类的d1赋初值,分别输出C,A,然后执行派生类的构造函数,输出E,然后按照相反循序,依次执行各个类的析构函数,输出FBD。

你可能感兴趣的:(第十周第十一周-阅读程序)