從Student類和Teacher類多重派生Graduate類 代碼參考

来源:https://www.cnblogs.com/Conan-jine/archive/2020/04/21/12748052.html
-Advertisement-
Play Games

1 #include <iostream> 2 #include <cstring> 3 4 using namespace std; 5 6 class Person 7 { 8 private: 9 char Name[10]; 10 char Sex; 11 int Age; 12 publi ...


  1 #include <iostream>
  2 #include <cstring>
  3 
  4 using namespace std;
  5 
  6 class Person
  7 {
  8     private:
  9         char Name[10];
 10         char Sex;
 11         int Age;
 12     public:
 13         void Register(char *name, int age, char sex);
 14         void ShowMe();
 15 };
 16 
 17 void Person::Register(char *name, int age, char sex)
 18 {
 19     strcpy(Name,name);
 20     Age=age;
 21     Sex=sex;
 22     return;
 23 }
 24 
 25 void Person::ShowMe()
 26 {
 27     cout<<"姓名 "<<Name<<endl;
 28     if(Sex=='m')    cout<<"性別 男"<<endl;
 29     else cout<<"性別 女"<<endl;
 30     cout<<"年齡 "<<Age<<endl;
 31     return;
 32 }
 33 
 34 class Teacher:public Person
 35 {
 36     private:
 37         char Dept[20];
 38         int Salary;
 39     public:
 40         Teacher(char *name, int age, char sex, char *dept, int salary);
 41         void Show();
 42 };
 43 
 44 Teacher::Teacher(char *name, int age, char sex, char *dept, int salary):Person()
 45 {
 46     Person::Register(name,age,sex);
 47     strcpy(Dept,dept);
 48     Salary=salary;
 49 }
 50 
 51 void Teacher::Show()
 52 {
 53     cout<<"工作單位 "<<Dept<<endl;
 54     cout<<"月薪 "<<Salary<<endl;
 55     return;
 56 }
 57 
 58 class Student:public Person
 59 {
 60     private:
 61         char ID[12];
 62         char Class[12];
 63     public:
 64         Student(char *name, int age, char sex, char *ID, char *Class);
 65         void Show();
 66 };
 67 
 68 Student::Student(char *name, int age, char sex, char *ID, char *Class):Person()
 69 {
 70     Person::Register(name,age,sex);
 71     strcpy(this->ID,ID);
 72     strcpy(this->Class,Class);
 73 }
 74 
 75 void Student::Show()
 76 {
 77     cout<<"班級 "<<Class<<endl;
 78     cout<<"學號 "<<ID<<endl;
 79     Person::ShowMe();
 80     return;
 81 }
 82 
 83 class Graduate:public Teacher,public Student
 84 {
 85     public:
 86         Graduate(char *name, int age, char sex, char *dept, int salary, char *id, char *classid);
 87         void showme();
 88 };
 89 
 90 Graduate::Graduate(char *name, int age, char sex, char *dept, int salary, char *id, char *classid):Teacher(name,age,sex,dept,salary),Student(name,age,sex,id,classid){}
 91 
 92 void Graduate::showme()
 93 {
 94     Student::Show();
 95     Teacher::Show();
 96     return;
 97 }
 98 
 99 int main()
100 {
101     char name[10],dept[20],id[12],classid[12],sex;
102     int salary,age;
103     cin>>name>>age>>sex>>dept>>salary>>id>>classid;
104     Graduate one(name,age,sex,dept,salary,id,classid);
105     one.showme();
106     return 0;
107 }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 為什麼要搭建註冊中心集群 以防出現單點故障 也就是唯一那個註冊中心出現故障 導致整個架構故障 互相註冊 相互守望 先要修改本機的hosts文件的主機映射 增加映射 C:\Windows\System32\drivers\etc\hosts 1.修改之前7001配置文件 2.修改之後 需要修改host ...
  • 本文是``系列的第3篇。 引用傳參 我有一個函數: 因為參數類型是 ,所以函數能夠修改傳入的整數,而非其拷貝。 然後我用 把它和一個 綁定起來: int i = 1; auto f = std::bind(modify, i); f(); std::cout `對象。 reference_wrapp ...
  • 好久麽有寫博客,近期項目基本完成,日常的學習也需要提上日程,儘管未來麽有希望,但還是低著腦袋往前走吧.....不啰嗦進入主題。 死迴圈 ※軟死機:CPU占用100%,雙核占50%,機器明顯變慢。出現軟死機其實就是死迴圈。如while(1);就是個死迴圈語句,請不要用在歪門邪道處。 ※硬死機:滑鼠、鍵 ...
  • C++ 函數重載 什麼是函數重載: 可以有多個同名的函數。 可以通過函數重載來設計一系列函數——他們完成相同的工作,但使用不同的參數列表。 函數特征標: 函數重載的關鍵是函數的參數列表——也稱為函數特征標。 如果兩個函數的參數數目和類型相同,同時參數的排列順序也相同,則它們的特征標相同,反之不同。 ...
  • 現在的智能手機解析度都很高,拍的高清照片動輒5M甚至7M。 上傳到系統的圖片太大了,導致頁面載入緩慢。 為此,讓組裡一小伙做一個壓縮工具。發版後,發現圖片雖然是壓縮了,不過有個別圖片嚴重失真。 然後,在網上查資料,發現有人分享google提供的開源工具Thumbnailator。 maven dep ...
  • 版權聲明:本文為CSDN博主「iswitched」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。原文鏈接:https://blog.csdn.net/weixin_44873106/article/details/89787021 1 環境變數配置 JAVA_ ...
  • 起步 Python3 起,str 就採用了 Unicode 編碼(註意這裡並不是 utf8 編碼,儘管 .py 文件預設編碼是 utf8 )。 每個標準 Unicode 字元占用 4 個位元組。這對於記憶體來說,無疑是一種浪費。 Unicode 是表示了一種字元集,而為了傳輸方便,衍生出里如 utf8  ...
  • 有很多朋友問我學習了Python後,有沒有什麼好的項目可以練手。 其實,做項目主要還是根據需求來的。但是對於一個初學者來說,很多複雜的項目沒辦法獨立完成,因此博主挑選了一個非常適合初學者的項目,內容不是很複雜,但是非常有趣,我相信對於初學者小白來說是再好不過的項目了。 這個項目中,我們將要建立一個比 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...