项目一,学生信息(可以用两种方法,这种方法可以避免将protected改为private出现问题)

来源:互联网 发布:网络电视 卡不卡 编辑:程序博客网 时间:2024/06/03 21:55
/*  *Copyright (c) 2013 ,烟台大学计算机与控制工程学院*All rights reserved.  *作者:王至超  *完成日期:2014年05月08 *版本号:v1.0  *问题描述:  *样例输入: *样例输出:*问题分析:用简单的方法,学会活学活用  */  #include <iostream>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:"<<num<<endl;    cout<<"name:"<<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) ,monitor(n1,nam1)    //派生类构造函数    {        age=a;        addr=ad;    }    void show( )//成员函数,输出学生的信息    {        cout<<"学生信息:"<<endl;        display();        cout<<"年龄:"<<age<<endl;        cout<<"住址:"<<addr<<endl;    }    void show_monitor( )    //成员函数,输出班长信息    {        cout<<"班长信息:"<<endl;        monitor.display();    }private:    Stu monitor;   //学生所在班的班长,班长是学生,是Stu类的成员    int age;       //学生年龄    string addr;   //学生的住址};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;}

0 0