储存班长信息


  1. *Copyright(c)2016,烟台大学计算机与控制工程学院 
  2.  *All rights reserved 
  3.  *文件名称:123.cpp 
  4.  *作    者:隋宗涛
  5.  *完成日期:2016年5月10日 
  6.  *版 本 号:v1.0 
  7.  * 
  8.  *问题描述:按照声明好的类及测试函数,完成类中成员函数的定义 
  9.  *输入描述:无。 
  10.  *程序输出:无。 
  11. */  
  12. #include <iostream>  
  13. #include <string>  
  14. using namespace std;  
  15. class Stu   //声明基类  
  16. {  
  17. public:  
  18.     Stu(int n, string nam );  //基类构造函数  
  19.     void display( );          //成员函数,输出基类数据成员  
  20. protected:        //访问权限为保护型的数据成员  
  21.     int num;      //学生学号  
  22.     string name;  //学生姓名  
  23. };  
  24. Stu::Stu(int n, string nam ): num(n),name(nam){}   //基类构造函数  
  25. void Stu::display( )                           //成员函数,输出基类数据成员  
  26. {  
  27.     cout<<"学号: "<<num<<endl;  
  28.     cout<<"姓名: "<<name<<endl;  
  29. }  
  30.   
  31. class StuDetail: public Stu              //声明公用派生类StuDetail  
  32. {  
  33. public:  
  34.     //学生nam,学号n,a岁,家住ad,他的班长是nam1,学号n1  
  35.     StuDetail(int n, string nam,int a, string ad,int n1, string nam1); //派生类构造函数  
  36.     void show( );  
  37.     void show_monitor( );             //成员函数,输出子对象  
  38. private:  
  39.     Stu monitor;   //学生所在班的班长,班长是学生,用Stu声明  
  40.     int age;       //学生年龄  
  41.     string addr;   //学生的住址  
  42. };  
  43. StuDetail::StuDetail(int n, string nam,int a,string ad,int n1,string nam1):  
  44.     Stu(n,nam),monitor(n1,nam1),age(a),addr(ad){} //派生类构造函数  
  45. void StuDetail::show( )  
  46. {  
  47.     cout<<"学生信息:"<<endl;  
  48.     cout<<"学号: "<<num<<endl;            //输出num  
  49.     cout<<"姓名: "<<name<<endl;           //输出name  
  50.     cout<<"年龄: "<<age<<endl;            //输出age  
  51.     cout<<"住址: "<<addr<<endl<<endl;     //输出addr  
  52. }  
  53. void StuDetail::show_monitor( )                        //成员函数,输出子对象  
  54. {  
  55.     cout<<"班长信息:"<<endl;  
  56.     monitor.display( );  
  57. }  
  58. int main( )  
  59. {  
  60.     StuDetail s(10010,"Wang-li",19,"115 Beijing Road,Shanghai",10001,"Li-sun");//学生王力,10010号,19岁,家住上海的北京路,他的班长是李孙,学号10001  
  61.     s.show( );                       //输出学生的信息  
  62.     s.show_monitor();                //输出子对象的信息  
  63.     return 0;  
  64. }  
 
 

运行结果:

储存班长信息_第1张图片

你可能感兴趣的:(储存班长信息)