#include<iostream>
#include<string>
using namespace std;
class Teacher
{
protected:
string name;
int age;
string addr;
char sex;
int num;
string title;
public:
Teacher( string na ,int a , string add ,char s, int n , string t)
{
name = na;
age = a;
addr = add;
sex = s;
num = n;
title = t;
}
void display( );
};
class Cadre
{
public:
Cadre( string na , int a , string add ,char s ,int n , string p)
{
name = na;
age = a;
addr = add;
sex = s;
num = n;
post = p;
}
protected:
string name;
int age;
string addr;
char sex;
int num;
string post;
};
class Teacher_Cadre:public Teacher ,public Cadre
{
public:
Teacher_Cadre(string na , int a , string add ,char s , int n ,string t , string p,int w):
Teacher(na ,a ,add , s , n , t),Cadre(na ,a ,add ,s ,n ,p),wages(w){}
void show();
private:
int wages;
};
void Teacher::display()
{
cout << " name : " << name << endl;
cout << " age : " << age << endl;
cout << " addr : " << addr << endl;
cout << " sex : " << sex << endl;
cout << " num : " << num << endl;
cout << " title : " << title << endl;
}
void Teacher_Cadre::show()
{
Teacher::display();
cout << " post : " << Cadre::post << endl;
cout << " wages : " << wages << endl;
}
int main()
{
Teacher_Cadre TC1("Tom",20,"china",'m',123456,"student","monitor",100);
TC1.show();
system("pause");
return 0;
}
经验积累:
(1)一开始编译时会出现初始化问题,是因为一开始的代码为:(倒数5行)
Teacher_Cadre TC1;
TC1("Tom",20,"china",'m',123456,"student","monitor",100);
.......
(2)用字符串比用字符数组方便的多,不需要开辟空间