第十一週上機實踐專案 專案4-教師兼職幹部類
問題及程式碼:
【專案 - 教師兼幹部類】
分別定義Teacher(教師)類和Cadre(幹部)類,採用多重繼承方式由這兩個類派生出新類Teacher_Cadre(教師兼幹部)。要求:
(1)在兩個基類中都包含姓名、年齡、性別、地址、電話等資料成員。
(2)在Teacher類中還包含資料成員title(職稱),在Cadre類中還包含資料成員post(職務),在Teacher_Cadre類中還包含資料成員wages(工資)。
(3)對兩個基類中的姓名、年齡、性別、地址、電話等資料成員用相同的名字,在引用這些資料成員時,指定作用域。
(4)在類體中宣告成員函式,在類外定義成員函式。
(5)在派生類Teacher_Cadre的成員函式show中呼叫Teacher類中的display函式,輸出姓名、年齡、性別、職稱、地址、電話,然後再用cout語句輸出職務與工資。
/* Copyright(c)2016,煙臺大學計算機與控制工程學院 All rights reserced 檔名稱:test.cpp 作 者:蔡汝佳 完成日期:2016年5月21日 版 本 號:v1.0 問題描述: 輸入描述: 程式輸出: */ #include <iostream> #include <string> using namespace std; class Teacher { public: Teacher(string nam,int a,char s,string add,string t,string ti):name(nam),age(a),sex(s),address(add),telephone_number(t),title(ti){} void display(); private: string name; int age; char sex; string address; string telephone_number; string title; }; void Teacher::display() { cout<<"name: "<<name<<endl; cout<<"age: "<<age<<endl; cout<<"sex: "<<sex<<endl; cout<<"address: "<<endl; cout<<"telephone_number: "<<telephone_number<<endl; } class Cadre { public: Cadre(string nam,int a,char s,string add,string t,string po):name(nam),age(a),sex(s),address(add),telephone_number(t),post(po){} void display(); protected: string name; int age; char sex; string address; string telephone_number; string post; }; void Cadre::display() { cout<<"name: "<<name<<endl; cout<<"age: "<<age<<endl; cout<<"sex: "<<sex<<endl; cout<<"address: "<<endl; cout<<"telephone_number: "<<telephone_number<<endl; } class Teacher_Cadre:public Teacher,public Cadre { public: Teacher_Cadre(string nam,int a,char s,string add,string t,string ti,string po,double wage); void show(); private: double wages; }; Teacher_Cadre::Teacher_Cadre(string nam,int a,char s,string add,string t,string ti,string po,double wage): Teacher(nam,a,s,add,t,ti),Cadre(nam,a,s,add,t,ti),wages(wage){} void Teacher_Cadre::show() { Teacher::display(); cout<<"post: "<<Cadre::post<<endl; cout<<"wages: "<<wages<<endl; } int main() { Teacher_Cadre te_ca("Wang-li",50,'f',"135 Beijing Road,Shanghai","(021)61234567","prof.","president",1534.5); te_ca.show( ); return 0; }
執行結果:
知識點總結:
學習心得:
在編寫程式的過程中出現了很多錯誤,通過這些錯誤,自己也更加深入的瞭解和學習了所應用的知識,感覺收穫最大的就是學習了繼承和派生建構函式。
相關推薦
第十一週上機實踐專案 專案4-教師兼職幹部類
問題及程式碼: 【專案 - 教師兼幹部類】分別定義Teacher(教師)類和Cadre(幹部)類,採用多重繼承方式由這兩個類派生出新類Teacher_Cadre(教師兼幹部)。要求: (1)在兩個基類中都包含姓名、年齡、性別、地址、電話等資料成員。 (2)在Teacher類
第十一週上機實踐專案——正三角形
01./* 02.*程式的版權和版本宣告部分: 03.*Copyright(c)2013,煙臺大學計算機學院學生 04.*All ri
第十一週上機實踐專案——點類派生直線類
/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 *All rights reserved. *檔名稱:點類派生直線類 *作者:劉中林 *完成日期:20
第十週第十一週上機實踐專案-專案4-教師兼幹部類
/*copyright(c)2016.煙臺大學計算機學院 * All rights reserved, * 檔名稱:text.Cpp * 作者:劉濤 * 完成日期:2016年5月9日 * 版本號:vc++6.0 * 問題描述:分別定義Teacher(教師)類和C
第十一週上機實踐專案 專案1-點-圓-圓柱類的設計(3)
問題及程式碼: 【專案 - 點-圓-圓柱類族的設計】 按以下的提示,由基類的設計和測試開始,逐漸地完成各個類的設計,求出圓格柱體的表面積、體積並輸出並且完成要求的計算任務: (1)先建立一個Point(點)類,包含資料成員x,y(座標點),實現需要的成員函式,並設計main
第十一週上機實踐專案4——類族的設計(3)
(3)再以Circle類為直接基類,派生出一個Cylinder(圓柱體)類,再增加資料成員h(高),,以及求圓柱表面積的成員函式area和求圓柱體積的成員函式volume,實現需要的成員函式,並設計ma
第十一週上機實踐專案——職員有薪水了(拓展)
/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 *All rights reserved. *檔名稱:職員有薪水了 *作者:劉中林 *完成日期:2014年5月11日 *版本號:v0.1 *對任務及求解方法的描述部分: *輸入
第十一週上機實踐專案——儲存班長資訊的學生類
/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 *All rights reserved. *檔名稱:儲存班長資訊的學生類 *作者:劉中林 *完成日期
第十一週上機實踐專案——專案3-警察和廚師-(2)
/* *Copyright (c)2016,煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱:main.cpp *作 者:郭永恆 *完成日期:2016
第十一週上機實踐專案4——類族的設計(2)
(2)以Point為基類,派生出一個Circle(圓)類,增加資料成員r(半徑),以及求面積的成員函式area,實現其他需要的成員函式,設計main函式完成測試; 程式碼 #include<i
第十一週上機實踐專案——求兩個數的最大公約數
01./* 02.*程式的版權和版本宣告部分: 03.*Copyright(c)2013,煙臺大學計算機學院學生 04.*All
第十一週上機實踐專案2——職員有薪水了(2)
(2)字串除了用C++擴充的string型別外,按C語言的傳統,還可以用char 表示。請將類宣告中的string全部改為char 後,重新寫一遍程式(此時的區別是,類中有指標成員,構造和解構函式需要考
第十一週上機專案三點類派生直線類
/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 . *All rights reserved. *作者:李家豪 *完成日期:2014年5月13點. *版本號:v0.1。 *問題描述:字串除了用C++擴充的string型別外,按
第十一週上機專案4點類派生直線類
/* *Copyright (c) 2015, 煙臺大學計算機學院 *All rights reserved. *檔名稱:text.cpp *作者:陳棟樑 *完成日期:2015年 5月 20日 *版本號:v1.0 * */ #include<iostr
第十一週上機專案3 點類派生直線類
定義點類Point,並以點類為基類,派生出直線類Line,從基類中繼承的點的資訊表示直線的中點。請閱讀下面的程式碼,並將缺少的部分寫出來。#include<iostream> #include<Cmath> using namespace s
第十二週上機實踐專案——銀行系統
/* * Copyright (c) 2013, 煙臺大學計算機學院 * All rights reserved. * 作 者: 劉中林 * 完成日期:2013 年 12月 19 日 * 版 本 號:v1.0 * 問題描述:無 * 輸出:無 */
第十五週上機實踐專案——楊輝三角
/* * 程式的版權和版本宣告部分 * Copyright (c)2013, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: array.cpp * 作 者:劉
第十二週上機實踐專案 專案1-實現複數類中的運算子過載 (2)
問題及程式碼: 【專案-實現複數類中的運算子過載】 (1)請用類的成員函式,定義複數類過載運算子+、-、*、/,使之能用於複數的加減乘除 class Complex { public: Complex(){real=0;imag=0;} Complex(d
第十二週 課後實踐:專案二——摩托車繼承自行車和機動車
問題及程式碼: /* * Copyright (c) 2014, 煙臺大學計算機學院 * All rights reserved. * 檔名稱:Project4.cpp * 作 者:陳旭 * 完成日期:2015年6月 4日 * 版 本 號:v1.0 * * 問題描述:
第十一週閱讀程式(5.4)
問題及程式碼: /* *Copyright (c) 2016,煙臺大學計算機學院 *All rights reserved. *檔名稱:zwj.cpp *作 者:張偉晶 *完成日期:2