c++程序设计中虚基类,多继承知识点
生活随笔
收集整理的這篇文章主要介紹了
c++程序设计中虚基类,多继承知识点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.前言
如上
二.題目
分別聲明Teacher(教師)類和Cadre(干部)類,采用多重繼承方式由這兩個類派
生出新類Teacher_Cadre(教師兼干部)類。要求:
(1)在兩個基類中都包含姓名、年齡、性別、地址、電話等數據成員。
(2)在Teacher類中還包含數據成員title(職稱),在Cadre類中還包含數據成員post
(職務)。在Teacher_Cadre類中還包含數據成員wages(工資)。
(3)對兩個基類中的姓名、年齡、性別、地址、電話等數據成員用相同的名字,在引用
這些數據成員時,指定作用域。
(4)在類體中聲明成員函數,在類外定義成員函數。
(5)在派生類Teacher_Cadre的成員函數show 中調用Teacher類中的display函數,
輸出姓名、年齡、性別、職稱、地址、電話,然后再用cout語句輸出職務與工資。
三.代碼
#include<iostream> #include<string> using namespace std; class Person{//基類 public:Person(string,int,char,string,string);//構造函數 void display();//展示數據信息 protected:string name;//姓名int age;//年齡char sex;//性別string addr;//住址string tel;//電話 };Person::Person(string n,int a,char s,string ad,string t){//構造函數 name=n;age=a;sex=s;addr=ad;tel=t; } void Person::display() {//展示數據信息cout<<"name: "<<name<<endl;cout<<"age: "<<age<<endl;cout<<"sex: "<<sex<<endl;cout<<"addr: "<<addr<<endl;cout<<"tel: "<<tel<<endl; }class Teacher:virtual public Person{//公用派生類Teacher public:Teacher(string n,int a,char s,string ad,string t,string ti);//構造函數void display();//展示數據信息 protected:string title;//職稱 };//構造函數 Teacher::Teacher(string n,int a,char s,string ad,string t,string ti):Person(n,a,s,ad,t){title=ti; } void Teacher::display(){//展示數據信息 Person::display() ;cout<<"title: "<<title<<endl; } class Cadre:virtual public Person{//公用派生類Cadrepublic:Cadre(string n,int a,char s,string ad,string t,string p);//構造函數void display();//展示數據信息protected:string post;//職位 };//構造函數 Cadre::Cadre(string n,int a,char s,string ad,string t,string p):Person(n,a,s,ad,t){post=p; } void Cadre::display() {//展示數據信息Person::display() ;cout<<"post: "<<post<<endl; }class Teacher_Cadre:public Teacher,public Cadre{//公用派生類 Teacher_Cadrepublic:Teacher_Cadre(string n,int a,char s,string ad,string t,string ti,string p,int w);//構造函數void show();//展示數據信息private:int wage;//工資 };//構造函數 Teacher_Cadre::Teacher_Cadre(string n,int a,char s,string ad,string t,string ti,string p,int w) :Teacher(n,a,s,ad,t,ti),Cadre(n,a,s,ad,t,p),Person(n,a,s,ad,t){wage=w; }void Teacher_Cadre::show(){//展示數據信息Teacher::display();cout<<"post: "<<post<<endl;cout<<"wage: "<<wage<<endl; }int main(){Teacher_Cadre t_c("Wang-li",50,'f',"135 Beijing Road,shanghai","(021)61234567","prof.","president",1534.5);t_c.show();return 0; }總結
以上是生活随笔為你收集整理的c++程序设计中虚基类,多继承知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端用crypto.js进行加密和解密
- 下一篇: 程序设计实习MOOC / 程序设计与算法