程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> VC++深入詳解:純虛函數

VC++深入詳解:純虛函數

編輯:vc教程

  將breathe()函數申明為純虛函數,結果如例2-18所示。

  例2-18

  class animal
  {
  public:
    void eat()
    {
      cout<<"animal eat"<<endl;
    }
    void sleep()
    {
      cout<<"animal sleep"<<endl;
    }
    virtual void breathe() = 0;
  };

  純虛函數是指被標明為不具體實現的虛成員函數(注意:純虛函數也可以有函數體,但這種提供函數體的用法很少見)。純虛函數可以讓類先具有一個操作名稱,而沒有操作內容,讓派生類在繼承時再去具體地給出定義。凡是含有純虛函數的類叫做抽象類。這種類不能聲明對象,只是作為基類為派生類服務。在派生類中必須完全實現基類的純虛函數,否則,派生類也變成了抽象類,不能實例化對象。

  純虛函數多用在一些方法行為的設計上。在設計基類時,不太好確定或將來的行為多種多樣,而此行為又是必需的,我們就可以在基類的設計中,以純虛函數來聲明此種行為,而不具體實現它。

  注意:C++的多態性是由虛函數來實現的,而不是純虛函數。在子類中如果有對基類虛函數的覆蓋定義,無論該覆蓋定義是否有virtual關鍵字,都是虛函數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved