国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++中判斷成員函數是否重寫

2020-05-23 13:47:47
字體:
來源:轉載
供稿:網友

C++中判斷成員函數是否重寫

判斷一個成員函數是不是虛函數(重寫),有兩個三個條件:

  1. 兩個成員函數各自在基類和派生類中定義;
  2. 基類中定義的成員函數必須帶有關鍵字virtual,派生類的成員函數可帶可不帶。
  3. 這兩個成員函數原型(函數名,函數參數,函數返回類型)必須相同。

注意:如果這兩個函數的返回類型分別為基類和派生類,返回值為指向基類和派生類的指針或引用,則也構成重寫。此返回類型稱為協變。

調用這些成員函數時,使用對象指針,這樣當指針指向不同的對象時,就可以調用不同類的成員函數。

下面給一個程序分析:

#include<iostream>using namespace std;class Grandam{public:  virtual void introduce_self()  {    cout << "I am grandam." << endl;  }};class Mother:public Grandam{public:  void introdude_self()  {    cout << "I am mother." << endl;  }};class Daughter :public Mother{public:  void introduce_self()  {    cout << "I am daughter." << endl;  }};int main(){  Grandam* ptr;  Grandam g;  Mother m;  Daughter d;  ptr = &g;  ptr->introduce_self();  ptr = &m;  ptr->introduce_self();  ptr = &d;  ptr->introduce_self();  return 0;}

結果如圖所示:

C++函數重寫,C++判斷函數重寫

從結果可知,每次都執行了成員函數的虛函數introduce_self()版本,解決了繼承來的二義性問題。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙川县| 商南县| 嘉鱼县| 鄄城县| 龙川县| 濮阳市| 离岛区| 长治县| 南京市| 锡林浩特市| 鹤庆县| 尤溪县| 朝阳县| 宁南县| 海门市| 梧州市| 宣武区| 黄梅县| 博乐市| 繁昌县| 定安县| 安平县| 封丘县| 亚东县| 教育| 绥化市| 定西市| 永昌县| 柳江县| 昆明市| 百色市| 隆安县| 嵊泗县| 西畴县| 芦山县| 招远市| 伊宁市| 漠河县| 武胜县| 东乡| 南阳市|