抽象基類和純虛擬函式
在設計時,常常希望基類僅僅作為其派生類的一個介面。這就是說,僅想對基類進行向上型別轉換,使用它的介面,而不希望使用者實際地建立一個基類的物件。要做到這點,可以在基類中加入至少一個純虛擬函式,來使基類成為抽象類。純虛擬函式使用關鍵字virtual,並且在其後面加上=0。如果某人試著生成一個抽象類的物件,編譯器會制止他,這個工具允許生成特定的設計。
當繼承一個抽象類時,必須實現所有的純虛擬函式,否則繼承出的類也將是一個抽象類。建立一個純虛擬函式允許在介面中放置成員函式,而不一定要提供一段可能對這個函式毫無意義的程式碼。同時,純虛擬函式要求出的類對它提供一個定義。純虛擬函式總是變成“啞”函式。
建立公共介面,也就是純虛擬函式抽象類。它能對於每個不同的子類有不同的表示,它建立一個基本的格式。
相關文章
- 介面、虛擬函式、純虛擬函式、抽象類函式抽象
- C++中抽象類、虛擬函式和純虛擬函式C++抽象函式
- C++:純虛擬函式與抽象類C++函式抽象
- 021--C++養成之路(純虛擬函式和純抽象類)C++函式抽象
- 虛擬函式 純虛擬函式函式
- JAVA抽象類、介面和C++的虛擬函式對比Java抽象C++函式
- Java常見知識點彙總(④)——虛擬函式、抽象函式、抽象類、介面Java函式抽象
- C++ 介面(純虛擬函式)C++函式
- 【C++基礎】純虛擬函式 - pure virtual functionC++函式Function
- 虛擬函式,虛擬函式表函式
- 解除心頭的困惑--純虛擬函式 (轉)函式
- C++純虛擬函式簡介及區別C++函式
- 虛解構函式(√)、純虛解構函式(√)、虛建構函式(X)函式
- 虛擬函式函式
- 基類指標,子類指標,虛擬函式,override與final指標函式IDE
- C++繼承三之純虛擬函式pure virtual functionC++繼承函式Function
- C++中的虛擬函式與虛擬函式表 (轉)C++函式
- C++之類解構函式為什麼是虛擬函式C++函式
- C++ 虛擬函式和虛繼承淺析C++函式繼承
- 【C++筆記】虛擬函式(從虛擬函式表來解析)C++筆記函式
- 【C++筆記】虛擬函式(從虛擬函式概念來解析)C++筆記函式
- 我對C++中虛擬函式、純虛擬函式在實現多型中作用的一點淺薄認識 (轉)C++函式多型
- C++ 虛擬函式C++函式
- C++虛擬函式C++函式
- 虛擬函式釋義函式
- C++ 派生類函式過載與虛擬函式繼承詳解C++函式繼承
- 關於類的建構函式不能為虛擬函式的幾點理由!函式
- c++虛擬函式表C++函式
- 虛擬函式的呼叫原理函式
- C++虛擬函式bugC++函式
- 虛擬函式與多型函式多型
- 原則25:把建構函式和非成員函式虛擬化函式
- Java基礎-抽象類和介面Java抽象
- 基類中定義的虛擬函式,子類中必須要覆蓋嗎?為什麼?函式
- 條款14 基類的解構函式一定要定義為虛擬函式(From Effective C++) (轉)函式C++
- 抽象方法和抽象類抽象
- 抽象類和抽象方法抽象
- 虛擬函式的實現原理函式