/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.* 文件名称:派生类的继承
* 作 者: 郭岩岩
* 完成日期:2012 年5月 8日
* 版 本 号: vc.1
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
*程序头部的注释结束
*/
#include<iostream>
#include<string>
using namespace std;
class Teacher
{
public:
Teacher(string n,int a,char s,string ad,string nu,string t)
{
name=n;
age=a;
sex=s;
addr=ad;
nume=nu;
title=t;
}
void display();
protected:
string name;
int age;
char sex;
string addr;
string nume;
string title;
};
void Teacher::display ()
{
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"地址:"<<addr<<endl;
cout<<"电话号码:"<<nume<<endl;
cout<<"地位:"<<title<<endl;
}
class Cadre
{
public:
Cadre(string n,int a,char s,string ad,string nu,string t,string p)
{
name=n;
age=a;
sex=s;
addr=ad;
nume=nu;
title=t;
post=p;
}
void display();
protected:
string name;
int age;
char sex;
string addr;
string nume;
string title;
string post;
};
void Cadre::display()
{
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"地址:"<<addr<<endl;
cout<<"电话号码:"<<nume<<endl;
cout<<"地位:"<<title<<endl;
cout<<"职务"<<post<<endl;
}
class Teacher_Cadre:public Teacher,public Cadre
{
public:
Teacher_Cadre(string n,int a,char s,string ad,string nu,string t,string p,float w);
void show();
protected:
float wages;
};
Teacher_Cadre::Teacher_Cadre(string n,int a,char s,string ad,string nu,string t,string p,float w):
Teacher(n,a,s,ad,nu,t),Cadre(n,a,s,ad,nu,t,p),wages(w){}
void Teacher_Cadre::show()
{
Teacher::display ();
cout<<"职务"<<post<<endl;
cout<<"工资"<<wages<<endl;
}
int main()
{
Teacher_Cadre Teacher_Cadre("lihui",21,'m',"shandong yantai yaitai university","18253576888","prof","student" ,2000);
Teacher_Cadre.show ();
system("pause");
return 0;
}
姓名:lihui
年龄:21
性别:m
地址:shandong yantai yaitai university
电话号码:18253576888
地位:prof
职务student
工资2000
请按任意键继续. . .
经验积累:保护基类的所有成员在类内可以被访问,类外不可以被访问。
私有类在派生类外都不能被访问。