?? 例11.8.txt
字號:
例11.8 聲明一個教師(Teacher)類和一個學生(Student)類,用多重繼承的方式聲明一個研究生(Graduate)派生類。教師類中包括數據成員name(姓名)、age(年齡)、title(職稱)。學生類中包括數據成員name1(姓名)、age(性別)、score(成績)。在定義派生類對象時給出初始化的數據,然后輸出這些數據。
#include <iostream>
#include <string>
using namespace std;
class Teacher//聲明類Teacher(教師)
{public: //公用部分
Teacher(string nam,int a, string t) //構造函數
{name=nam;
age=a;
title=t;}
void display( ) //輸出教師有關數據
{cout<<″name:″<<name<<endl;
cout<<″age″<<age<<endl;
cout<<″title:″<<title<<endl;
}
protected: //保護部分
string name;
int age;
string title; //職稱
};
class Student //定義類Student(學生)
{public:
Student(char nam[],char s,float sco)
{strcpy(name1,nam);
sex=s;
score=sco;} //構造函數
void display1( ) //輸出學生有關數據
{cout<<″name:″<<name1<<endl;
cout<<″sex:″<<sex<<endl;
cout<<″score:″<<score<<endl;
}
protected: //保護部分
string name1;
char sex;
float score; //成績
};
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( ) //輸出研究生的有關數據
{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;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -