C 介面與實現

2021-07-28 09:13:38 字數 626 閱讀 1611

公有繼承: inte***ce and implementation

三種繼承的方式:

pure virtual function

只繼承基類的介面,要在派生類中重寫該函式的實現。至於是在子類中實現還是子類的子類中實現都無所謂,關鍵是需要例項化的類就需要實現,不然物件是無法建立的。

virtual function

普通虛函式對應於基類是有預設的實現的,派生類繼承過來的函式既包含介面又包含預設的實現。派生類可以選擇是否重寫預設的實現。同時繼承介面和預設實現是一件有風險的事情。因為或許你的某個派生類忘記重寫該虛函式,那呼叫的時候就是呼叫的預設的實現。

兩個解決辦法:

1. pure virtual function + default realize。派生類只繼承介面,想要使用預設實現,必須顯示呼叫

2. override 防止忘記, 強制重寫該虛函式

normal function

派生類繼承了介面和強制實現。所以不需要在派生類中重寫該函式。 不重寫,呼叫的是父類的實現。重寫,呼叫的是派生類的實現。

有時候你會發現virtual function 和normal function 結果看,好像差不多。其實二者的區別需要從靜態聯編和動態聯編這邊分析。下次再說。

C 介面與顯式介面實現

介面 介面包含類或結構可以實現一組相關功能的定義。inte ce iequatable繼承iequatable的類必須實現equals的方法,iequatable不提供equals的實現。介面可以包含方法 屬性 事件 索引器。介面不能包含常量 字段 運算子 例項建構函式 終結器或型別。介面成員會自動...

c語言介面與實現

分類 程式設計 2006 04 13 21 57 7392人閱讀收藏 舉報 語言c 資料結構 c lua exception 書中對atom,list,stack,hashtable,set,ring,exception等都作了 相信看過這邊書後,你使用c程式設計的功力會大為提高。也許使用c 的朋友...

C 介面繼承與實現繼承

介面繼承與實現繼承 moakap 所謂介面繼承,就是派生類只繼承函式的介面,也就是宣告 而實現繼承,就是派生類同時繼承函式的介面和實現。我們都很清楚c 中有幾個基本的概念,虛函式 純虛函式 非虛函式。虛函式 虛函式是指乙個類中你希望過載的成員函式,當你用乙個基類指標或引用指向乙個繼承類物件的時候,你...