日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++程序设计中虚基类,多继承知识点

發布時間:2025/3/15 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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++程序设计中虚基类,多继承知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。