存储班长信息的学生类

问题及描述;

/* 
 *Copyright (c) 2016,烟台大学计算机学院 
 *All rights reserved. 
*文件名称;test.cpp 
 *作者;邱凯 
 *完成日期;2016年5月7号 
 *版本号;v6.0 
 *问题描述;  存储班长信息的学生类 
 *输入描述;  输入数据 
 *输出描述; 输出答案 
*/  #include<iostream>
#include <string>
using namespace std;
class Stu
{
public:
    Stu(int n, string nam );
    void display( );
protected:
    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<<"学号: "<<num<<endl;
    cout<<"姓名: "<<name<<endl;
    cout<<"年龄: "<<age<<endl;
    cout<<"住址: "<<addr<<endl<<endl;
}
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张图片

总结;

在派生类中声明一个stu monitor 的变量是一种新的简洁思路!!

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