第10,11周 阅读程序写出运行结果 (3)



2.*Copyright(c) 2016.烟台大学计算机与控制工程学院
3.*ALL rights  reserved.
4.*文件名称:main.cpp
5.*作者:孙亚茹
6.*完成日期:2016年5月10日
7.*问题描述:阅读程序,写出执行结果
8.*/

#include <iostream>
using namespace std;
class A
{
public:
    A(char *s){cout<<s<<endl;}
};
class B:public A
{
public:
    B(char *s1, char *s2):A(s1){
        cout<<s2<<endl;
    }
};
class C:public A
{
public:
    C(char *s1,char *s2):A(s1){
        cout<<s2<<endl;
    }
};
class D:public B, C
{
public:
    D(char *s1,char *s2,char *s3,char *s4):
        B(s1,s2),C(s3,s4){cout<<s4<<endl;}
};
int main()
{
    D d("class A","class B","class C","class D");
    return 0;
}

第10,11周 阅读程序写出运行结果 (3)_第1张图片

运行步骤:

                B(s1,s2)先调用A类的构造函数,输出"class A",B类中再输出“class B",C(s3,s4)先调用A类的构造函数,输出"class C",C类中再输出"class D",最后再在D类中输出"class D",所以最后结果为:class A,class B,class C,class D,classD.


你可能感兴趣的:(第10,11周 阅读程序写出运行结果 (3))