第十一周项目一(2)存储班长信息的学生类
2015-05-16 19:44
253 查看
/* Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘佳琦 * 完成日期:2015年 5 月 16 日 * 版 本 号:v1.0 * * 问题描述: 上面是声明好的类及测试函数,请完成类中成员函数的定义 * 程序输入: * 程序输出: */ #include <iostream> #include <string> using namespace std; class Stu //声明基类 { public: Stu(int n, string nam ); //基类构造函数 void display( ); //成员函数,输出基类数据成员 private: //访问权限为保护型的数据成员 int num; //学生学号 string name; //学生姓名 }; Stu::Stu(int n, string nam ): num(n),name(nam){} //基类构造函数 void Stu::display( ) //成员函数,输出基类数据成员 { cout<<"学号:"<<num<<endl; cout<<"姓名:"<<name<<endl; } class StuDetail: public Stu //声明公用派生类StuDetail { public: //学生nam,学号n,a岁,家住ad,他的班长是nam1,学号n1 StuDetail(int n, string nam,int a, string ad,int n1, string nam1); //派生类构造函数 void show( ); void show_monitor( ); //成员函数,输出子对象 private: Stu monitor; //学生所在班的班长,班长是学生,用Stu声明 int age; //学生年龄 string addr; //学生的住址 }; StuDetail::StuDetail(int n, string nam,int a,string ad,int n1,string nam1): Stu(n,nam),monitor(n1,nam1),age(a),addr(ad){} //派生类构造函数 void StuDetail::show( ) { cout<<"学生信息:"<<endl; display(); cout<<"年龄: "<<age<<endl; //输出age cout<<"住址: "<<addr<<endl<<endl; //输出addr } void StuDetail::show_monitor( ) //成员函数,输出子对象 { cout<<"班长信息:"<<endl; monitor.display( ); //调用基类成员函数 } int main( ) { //学生王力,10010号,19岁,家住上海的北京路,他的班长是李孙,学号10001 StuDetail s(10010,"Wang-li",19,"115 Beijing Road,Shanghai",10001,"Li-sun"); s.show( ); //输出学生的数据 s.show_monitor(); //输出子对象的数据 return 0; }
运行结果:
学习心得:
只要不直接使用它的私有成员就行,通过公共接口也就是公有函数来访问私有成员。
相关文章推荐
- 第十一周 【项目1 - 存储班长信息的学生类】(2)
- 第十一周项目2——存储班长信息的学生类
- 第十一周项目一存储班长信息的学生类(2)
- 第十一周项目二存储班长信息的学生类2
- 第十一周项目1 - 存储班长信息的学生类(2、private的访问权限)
- 第十一周项目1--存储班长信息的学生类(1)
- 第十一周上机项目2存储班长信息的学生类
- 第十一周项目1——存储班长信息的学生类(1)
- 第十一周【项目2 - 存储班长信息的学生类2】
- 第十一周项目训练9 存储班长信息的学生类
- 第十一周项目1-1-存储班长信息的学生类(protect)
- 第十一周 项目1—1存储班长信息的学生类(protected)
- 第十一周项目一 存储班长类信息的学生类
- 第十一周上机实践项目——存储班长信息的学生类
- 第十一周项目一--存储班长信息的学生类
- 第十一周实践项目2-存储班长信息的学生类
- 第十一周 项目1-2存储班长信息的学生类(private)
- 第二学期第十一周项目1--存储班长信息的学生类(1)
- 2015年第十一周项目1:存储班长信息的学生类(1)
- 第十一周 项目1-存储班长信息的学生类(2)