C++第四次实验

来源:互联网 发布:ubuntu怎么用root登陆 编辑:程序博客网 时间:2024/06/13 13:12

一、问题及代码

/* *文件名称:Ex1.7pp *作者:刘旭*完成日期:2016年4月22日 *版本号:v1.0 *对任务及求解方法的描述部分:学生类输出学生的基本信息 *输入描述:StuDetail s(10010,"张三",19,"江西南昌",10001,"李四") *问题描述:输出下面的结果  学生信息:  学号:10010  姓名:张三  年龄:19  住址:江西南昌   班长信息:  学号:10001  姓名:李四  *问题分析:这是一个学生类,需要输出学生的基本信息,用到了基类,派生类 *算法设计: */  #include<iostream>  #include<string>  using namespace std;  class Stu   //声明基类  {  public:      Stu(int n, string nam );  //基类构造函数      void display( );          //成员函数,输出基类数据成员  protected:        //(*)访问权限为保护型的数据成员      int num;      //学生学号      string name;  //学生姓名  };  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;   //学生的住址  };  Stu::Stu(int n,string nam)  {      num=n;      name=nam;  }  void  Stu::display()  {      cout<<"学号: "<<num<<endl;      cout<<"姓名: "<<name<<endl;  }  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<<"学号: "<<num<<endl;      cout<<"姓名: "<<name<<endl;      cout<<"年龄: "<<age<<endl;      cout<<"住址:"<<addr<<endl<<endl;  }  void StuDetail::show_monitor()  {      cout<<"班长信息:"<<endl;      monitor.display();      cout<<endl;      }  int main( )  {      //学生张三,10010号,19岁,家住江西南昌,他的班长是李四,学号10001      StuDetail s(10010,"张三",19,"江西南昌",10001,"李四");      s.show( );                       //输出学生信息      s.show_monitor();                //输出班长信息      return 0;  }  
二、运行结果

三、心得体会

这次实验感觉难度不是特别大,需要补充的也不多,多看看书上的介绍。

四、知识点总结

本程序用到基类,派生类,派生类在基类中的继承方式,同时还用了派生类构造函数。

0 0
原创粉丝点击