1. 程式人生 > >第十週第十一週上機實踐專案-專案4-教師兼幹部類

第十週第十一週上機實踐專案-專案4-教師兼幹部類

/*copyright(c)2016.煙臺大學計算機學院
 * All rights reserved,
 * 檔名稱:text.Cpp
 * 作者:劉濤
 * 完成日期:2016年5月9日
 * 版本號:vc++6.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<cstring>
 using namespace std;
 class Teacher
 {
 private:
    string name;
    int age;
    string sex;
    string address;
    long phoneNumber;

    string title;     //職稱
 public:
     Teacher(string nam,int a,string se,string addr,long phoneNum,string ti);
     void display();
 };
 Teacher::Teacher(string nam,int a,string se,string addr,long phoneNum,string ti)
 {
     name=nam;
     age=a;
     sex=se;
     address=addr;
     phoneNumber=phoneNum;
     title=ti;
 }
 void Teacher::display()
 {
     cout<<"姓名:"<<name<<endl;
     cout<<"年齡:"<<age<<endl;
     cout<<"性別:"<<sex<<endl;
     cout<<"地址:"<<address<<endl;
     cout<<"電話號碼:"<<phoneNumber<<endl;
     cout<<"職稱:"<<title<<endl;

 }
 /*----------------------------------------------------------------------------------------*/
 class Cadre
 {
    string name;
    int age;
    string sex;
    string address;
    long phoneNumber;

    string post;      //職務
public:
    Cadre(string nam,int a,string se,string addr,long phoneNum,string po);
    void display();
    string getPost();
 };
  Cadre::Cadre(string nam,int a,string se,string addr,long phoneNum,string po)
 {
     name=nam;
     age=a;
     sex=se;
     address=addr;
     phoneNumber=phoneNum;
     post=po;
 }
 void Cadre::display()
 {
     cout<<"姓名:"<<name<<endl;
     cout<<"年齡:"<<age<<endl;
     cout<<"性別:"<<sex<<endl;
     cout<<"地址:"<<address<<endl;
     cout<<"電話號碼:"<<phoneNumber<<endl;
     cout<<"職務:"<<post<<endl;
 }
 string Cadre::getPost()
 {
     return post;
 }
 /*---------------------------------------------------------------------------------------------------*/
 class Teacher_Cadre:public Teacher,public Cadre
 {
private:
    double wages;
public:
    Teacher_Cadre(string nam,int a,string se,string addr,long phoneNum,string ti,string po,double wag):
                  Teacher(nam,a,se,addr,phoneNum,ti),Cadre(nam,a,se,addr,phoneNum,po),wages(wag){}
    void show();
    double getWages();
 };
double Teacher_Cadre::getWages()
{
    return wages;
}
 void Teacher_Cadre::show()
 {
     cout<<"輸出教師資訊"<<endl;
     Teacher::display();
     cout<<endl;
     cout<<"幹部職務:"<<Cadre::getPost()<<endl;
     cout<<"教師兼幹部的工資:"<<getWages()<<endl;
 }
 int main()
 {
     Teacher_Cadre tc("劉濤",19,"Man","山東省濟南市市中區",12345,"總裁","CEO",100000);
     tc.show();
 }
執行結果:
<img src="https://img-blog.csdn.net/20160509091401553?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
知識點總結:
多重繼承,兩個基類一個派生類。
還有就是當函式名相同的時候,呼叫時需要加上類名::做區分。
當資料成員是私有的,呼叫需要藉助成員函式。或者資料成員宣告為保護型別的。
學習心得:
平時有多個類的時候,函式名或者資料成員名字儘量不能重複使用,避免錯誤發生。
當重名的時候,在派生類中宣告,直接用基類名區分就可以,不用重複定義。
學習心得:

相關推薦

上機實踐專案-專案4-教師部類

/*copyright(c)2016.煙臺大學計算機學院 * All rights reserved, * 檔名稱:text.Cpp * 作者:劉濤 * 完成日期:2016年5月9日 * 版本號:vc++6.0 * 問題描述:分別定義Teacher(教師)類和C

專案4——教師部類

問題及程式碼: /* * Copyright (c) 2016,煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:main.cpp * 作 者:趙志君 * 完成日期:2016年5月15日 * 版 本 號:v

專案4-教師部類

問題及程式碼: /* *Copyright (c) 2016,煙臺大學計算機學院 *All rights reserved. *檔名稱:zwj.cpp *作 者:張偉晶 *完成日期:2016年5月9日 *版 本 號:v1.0 * *問題描述:教師兼幹部

.專案4教師部類

 /*  *Copyright (c) 2016,煙臺大學計算機學院  *All rights reserved.  *檔名稱 :  *作    者 : 劉默涵  *完成日期 : 2016年5月2

10.11周專案4-教師部類

程式碼: /* *Copyright (c) 2016, 煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱:main.cpp; *作 者:嶽成豔2016年5月18號; *版 本 號:vc++6.0; * *問題描述:教師兼幹部類。 *

上機實踐專案 專案4-教師兼職部類

問題及程式碼: 【專案 - 教師兼幹部類】分別定義Teacher(教師)類和Cadre(幹部)類,採用多重繼承方式由這兩個類派生出新類Teacher_Cadre(教師兼幹部)。要求: (1)在兩個基類中都包含姓名、年齡、性別、地址、電話等資料成員。 (2)在Teacher類

專案教師部類

/* * Copyright (c) 2014, 煙臺大學計算機學院 * All rights reserved. * 作 者:紀麗娜 * 完成日期:2014 年05月13日 * 版 本 號:v1.0 * 問題描述: (第11章習題9)分別定義Teacher(教師)類和Cadre(

專案教師部類

程式碼: #include <iostream> #include <string> using namespace std; class Teacher { public: Teacher(string nam,int a,char

10、 11周-教師部類

   問題及程式碼: /*copyright 計算機與控制工程學院 完成日期:2016年5月8日 作者:馬豔豔 檔名稱:教師兼幹部類 問題描述:分別定義Teacher(教師)類和Cadre(幹部)類,採用多重繼承方式由這兩個類派生出新類Teacher_Cadre(教師兼

11周專案1教師部類

編號及程式碼: /* *Copyright(c)2015,煙臺大學計算機與工程學院 *All rights reserved; *檔名稱:score.cpp *作者:範星月 *完成日期:2015年5月25日 *版本號:v1.0 * *問題描述:定義教師和幹部類,採用多重繼承

《零基礎入門學習Python》056講:論隻爬蟲的自我修養4:網路爬圖

今天我們結合前面學習的知識,進行一個例項,從網路上下載圖片,話說我們平時閒來無事會上煎蛋網看看新鮮事,那麼,熟悉煎蛋網的朋友一定知道,這裡有一個 隨手拍 的欄目,我們今天就來寫一個爬蟲,自動抓取每天更新的 隨手拍。 要寫爬蟲,首先要做的第一件事就是踩點,主動發現網頁之間的規律,還有圖片

根據指定日期獲取上和上上的所有日期

import math import calendar import datetime from datetime import date from dateutil.rrule import rrule, DAILY def get_week_day(data):

JS獲取當前周、上、下日期

window.onload = function(){ var cells = document.getElementById('monitor').getElementsByTagName('td'); var clen =

JS實現上和下

 <script> var currDT; var aryDay = new Array("日","一","二","三","四","五","六"); //初始頁面 function ini() { currDT = new Date();

上機實踐專案——正三角形

01./* 02.*程式的版權和版本宣告部分: 03.*Copyright(c)2013,煙臺大學計算機學院學生 04.*All ri

上機實踐專案——點類派生直線類

/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 *All rights reserved. *檔名稱:點類派生直線類 *作者:劉中林 *完成日期:20

上機專案三點類派生直線類

/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 . *All rights reserved. *作者:李家豪 *完成日期:2014年5月13點. *版本號:v0.1。 *問題描述:字串除了用C++擴充的string型別外,按

上機實踐專案 專案1-點-圓-圓柱類的設計(3)

問題及程式碼: 【專案 - 點-圓-圓柱類族的設計】 按以下的提示,由基類的設計和測試開始,逐漸地完成各個類的設計,求出圓格柱體的表面積、體積並輸出並且完成要求的計算任務: (1)先建立一個Point(點)類,包含資料成員x,y(座標點),實現需要的成員函式,並設計main

上機專案4點類派生直線類

/* *Copyright (c) 2015, 煙臺大學計算機學院 *All rights reserved. *檔名稱:text.cpp *作者:陳棟樑 *完成日期:2015年 5月 20日 *版本號:v1.0 * */ #include<iostr

上機實踐專案4——類族的設計(3)

(3)再以Circle類為直接基類,派生出一個Cylinder(圓柱體)類,再增加資料成員h(高),,以及求圓柱表面積的成員函式area和求圓柱體積的成員函式volume,實現需要的成員函式,並設計ma