當前位置:
首頁 >
第十三周 项目2第11章习题9
發布時間:2024/1/8
34
豆豆
生活随笔
收集整理的這篇文章主要介紹了
第十三周 项目2第11章习题9
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*
* Copyright (c) 2011, 煙臺大學計算機學院
* All rights reserved.
* 作 者:王靜
* 完成日期:2013 年 6 月 2 日
* 版 本 號:v1.0
* 輸入描述:
* 問題描述:分別定義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 Teacher//聲明基類
{
public: //公用部分Teacher(string nam,int a,char s,string ad,string n,string t) //基類構造函數,與例.5相同{name=nam;age=a;sex=s;addr=ad;number=n;title=t;}void display( ) //成員函數,輸出基類數據成員{cout<<"name:"<<name<<endl<<"age:"<<age<<endl<<"sex:"<<sex<<endl<<"addr:"<<addr<<endl<<"number:"<<number<<endl<<"title:"<<title<<endl;}
protected: //保護部分string name;int age;char sex;string addr;string number;string title;
};
class Caldre
{public:Caldre(string nam,int a,char s,string ad,string n,string p) //基類構造函數,與例.5相同{name=nam;age=a;sex=s;addr=ad;number=n;post=p;}protected:string name;int age;char sex;string addr;string number;string post;
};
class Teacher_Caldre: public Teacher,public Caldre //聲明公用派生類Student1
{
public:
Teacher_Caldre(string nam,int a,char s,string ad,string n,string t,string p,double w):Teacher(nam,a,s,ad,n,t),Caldre(nam,a,s,ad,n,p),wages(w){}void show( ){Teacher::display();cout<<"post:"<<Caldre::post<<endl;cout<<"wages:"<<wages<<endl;}
private: //派生類的私有數據double wages;
};int main( )
{Teacher_Caldre t1("xiaotian",23,'m',"shangdong","13278493945","banzhuren","zhuli",3000);t1.show();return 0;
}
運行結果:
?
總結
以上是生活随笔為你收集整理的第十三周 项目2第11章习题9的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第十一周项目2--定义点类
- 下一篇: 头条号想过新手,但指数却一直达不到650