您的位置:首页 > 其它

第十/十一周训练3-1protected

2016-05-03 15:17 302 查看
#include <iostream>

#include <string>

using namespace std;

class Stu //声明基类

{

public:

Stu(int n, string nam ):num(n),name(nam){} //基类构造函数

void display( )

{

cout<<"学号: "<<num<<endl;

cout<<"姓名: "<<name<<endl;

}

//成员函数,输出基类数据成员

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): Stu(n,nam),monitor(n1,nam1),age(a),addr(ad){} //派生类构造函数 //派生类构造函数

void show( )

{

cout<<"学生信息:"<<endl;

cout<<"学号: "<<num<<endl; //输出num和name

cout<<"姓名: "<<name<<endl;

cout<<"年龄: "<<age<<endl; //输出age

cout<<"住址: "<<addr<<endl<<endl; //输出addr

}

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: