国产探花免费观看_亚洲丰满少妇自慰呻吟_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()版本,解決了繼承來的二義性問題。

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

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北碚区| 当涂县| 池州市| 若羌县| 界首市| 辽宁省| 上犹县| 稷山县| 平安县| 广德县| 泗阳县| 资兴市| 清水县| 庆城县| 微博| 宜章县| 城市| 营山县| 汾西县| 福贡县| 安吉县| 临高县| 曲沃县| 武川县| 清徐县| 司法| 莆田市| 永平县| 友谊县| 建始县| 张掖市| 建水县| 炉霍县| 启东市| 隆德县| 辉县市| 秭归县| 察隅县| 伊宁县| 镇宁| 油尖旺区|