c++实践参考:储存班长信息的学生类

来源:互联网 发布:天气预报数据下载 编辑:程序博客网 时间:2024/06/04 19:36
/*     *Copyright(c)2016,烟台大学计算机学院     *All right reserved.     *文件名称:test.cpp     *作者:黄金婵     *完成日期:2016年6月11日     *版本号:v1.0     *     *问题描述:将Stu类的数据成员的访问权限改为private,你的程序是否能完成要求的功能?如果不行,请修改程序。请不要修改给出的代码,只能修改自己写的代码。  *输入描述:     *程序输出:     */#include <iostream>  #include <string>  using namespace std;  class Stu    {  public:      Stu(int n, string nam );       void display( );                int getNum(){return num;}      string getName(){return name;}  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              {  public:        StuDetail(int n, string nam,int a, string ad,int n1, string nam1);     void show( );      void show_monitor( );            private:      Stu monitor;        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;      cout<<"学号: "<<getNum()<<endl;                cout<<"姓名: "<<getName()<<endl;      cout<<"年龄: "<<age<<endl;               cout<<"住址: "<<addr<<endl<<endl;     }  void StuDetail::show_monitor( )                          {      cout<<"班长信息:"<<endl;      monitor.display( );                        }    int main( )  {            StuDetail s(10010,"Wang-li",19,"115 Beijing Road,Shanghai",10001,"Li-sun");      s.show( );                         s.show_monitor();                    return 0;  }

知识点总结:

                     在基类Stu中,增加两个公用的get函数,在子类中访问时,输出get函数的结果。注意9、10行加的函数,以及41、42行改过的输出。

0 0
原创粉丝点击