C++第七次实验---实验报告
【项目2 - 学生类】
一、问题及代码
- /* 文件名称:Ex7-2.cpp
- * 作 者:程家琦
- * 完成日期:2017 年 5 月 21 日
- * 版 本 号:v1.0
- * 对任务及求解方法的描述部分:上面是声明好的类及测试函数,请完成类中成员函数的定义,使运行结果如图所示。
- * 输入描述:无
- * 问题描述:运行结果无年龄及家庭住址
- * 算法设计:略
- */
- #include<iostream>
- #include<string>
- using namespace std;
- class Stu //声明基类
- {
- public:
- Stu(int n,string nam) //基类构造函数
- {
- num=n;
- name=nam;
- };
- void display( ); //成员函数,输出基类数据成员
- protected: //(*)访问权限为保护型的数据成员
- int num; //学生学号
- string name; //学生姓名
- };
- 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):Stu(n,nam),age(a),addr(ad),monitor(n1,nam1){}//派生类构造函数
- void show( ); //成员函数,输出学生的信息
- void show_monitor( ); //成员函数,输出班长信息
- private:
- Stu monitor; //学生所在班的班长,班长是学生,是Stu类的成员
- int age; //学生年龄
- string addr; //学生的住址
- };
- void StuDetail::show()
- {
- cout<<"学生信息:"<<endl;
- Stu::display();
- cout<<"年龄:"<<endl;
- cout<<"住址:"<<endl;
- }
- void StuDetail::show_monitor()
- {
- cout<<"班长信息:"<<endl;
- monitor.Stu::display();
- }
- int main( )
- {
- //学生张三,10010号,19岁,家住江西南昌,他的班长是李四,学号10001
- StuDetail s(10010,"张三",19,"江西南昌",10001,"李四");
- s.show( ); //输出学生信息
- s.show_monitor(); //输出班长信息
- return 0;
- }
三、心得体会:
最后运行结果年龄及家庭住址无法输出,找不到问题所在
四、知识点总结:
类中成员函数的定义