问题及代码:
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:zwj.cpp *作 者:张晴晴 *完成日期:2016年5月10日 *版 本 号:v1.0 * *问题描述:阅读程序,写出运行结果 *输入描述: *程序输出: */ #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; }
运行结果:
学习心得:
主函数中定义了D类中的一个对象d("class A","class B","class C","class D"),执行D类中的函数使得 B(s1,s2),C(s3,s4),分别执行类B和类C中的函数输出"class A","class B","class C","class D",执行完函数后在输出s4,即再输出"class D"。
时间: 2024-10-11 10:37:44