?? 例11.8.txt
字號(hào):
例11.8 聲明一個(gè)教師(Teacher)類和一個(gè)學(xué)生(Student)類,用多重繼承的方式聲明一個(gè)研究生(Graduate)派生類。教師類中包括數(shù)據(jù)成員name(姓名)、age(年齡)、title(職稱)。學(xué)生類中包括數(shù)據(jù)成員name1(姓名)、age(性別)、score(成績(jī))。在定義派生類對(duì)象時(shí)給出初始化的數(shù)據(jù),然后輸出這些數(shù)據(jù)。
#include <iostream>
#include <string>
using namespace std;
class Teacher//聲明類Teacher(教師)
{public: //公用部分
Teacher(string nam,int a, string t) //構(gòu)造函數(shù)
{name=nam;
age=a;
title=t;}
void display( ) //輸出教師有關(guān)數(shù)據(jù)
{cout<<″name:″<<name<<endl;
cout<<″age″<<age<<endl;
cout<<″title:″<<title<<endl;
}
protected: //保護(hù)部分
string name;
int age;
string title; //職稱
};
class Student //定義類Student(學(xué)生)
{public:
Student(char nam[],char s,float sco)
{strcpy(name1,nam);
sex=s;
score=sco;} //構(gòu)造函數(shù)
void display1( ) //輸出學(xué)生有關(guān)數(shù)據(jù)
{cout<<″name:″<<name1<<endl;
cout<<″sex:″<<sex<<endl;
cout<<″score:″<<score<<endl;
}
protected: //保護(hù)部分
string name1;
char sex;
float score; //成績(jī)
};
class Graduate:public Teacher,public Student //聲明多重繼承的派生類Graduate
{public:
Graduate(string nam,int a,char s, string t,float sco,float w):
Teacher(nam,a,t),Student(nam,s,sco),wage(w) { }
void show( ) //輸出研究生的有關(guān)數(shù)據(jù)
{cout<<″name:″<<name<<endl;
cout<<″age:″<<age<<endl;
cout<<″sex:″<<sex<<endl;
cout<<″score:″<<score<<endl;
cout<<″title:″<<title<<endl;
cout<<″wages:″<<wage<<endl;
}
private:
float wage; //工資
};
int main( )
{Graduate grad1(″Wang-li″,24,′f′,″assistant″,89.5,1234.5);
grad1.show( );
return 0;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -