C 繼承 多型 虛函式 抽象

2021-07-25 05:47:21 字數 839 閱讀 9537

一、 繼承

1 如果你以乙個「基類指標」指向「派生類物件」,那麼經由該指標你只能呼叫基類所定義的函式

2  如果你以乙個「派生類指標」指向乙個「基類指標」 你必須先做明顯的轉型操作。

3 如果基類和派生類都定義了相同名稱的成員函式, 那麼通過物件指標呼叫成員函式是,到底呼叫到那乙個函式,必須視該指標的原始型別而定。

二、虛函式

1 解決多型

2 將介面和實現分開

3 基類和子類有許多共性時,便於基類統一的管理子類

4 虛函式正是為了對 如果以乙個基類指標指向乙個派生類物件,那麼通過該指標就只能呼叫基類所定義的成員函式 這條規則反其道而行設計的

a 如果期望派生類重新定義乙個成員函式,那麼你應該在基類中把次函式設為virtual

b 以單一指令呼叫不同的函式,這種性質成為多型polymorphism 

c 虛函式是c++ 語言的多型性質以及動繫結的關鍵

d 既然抽象類中的虛函式不打算被呼叫,我們就不應該定義他,應該把他設為純虛函式(在宣告之後加上「=0」 即可)

e 我們可以說擁有純虛函式者為抽象類,以別於所謂的具體類

f 抽象類不能產生出物件例項, 但是我們可以擁有指向抽象類的指標,以便於操作各個抽象類的派生類

g虛函式派生下去仍為虛函式, 而且可以忽略virtual關鍵字

純虛函式不需要定義其實際操作,他的存在只是為了在派生類中被重新定義,只是為了提供乙個多型介面。

靜態成員變數static 不屬於物件的一部分,而屬於類的一部分,所以程式可以在還沒有誕生物件之前就處理此種成員變數,但首先必須初始化他。 

static成員函式沒有 this 引數著這種性質,不需要借助任何物件就可以被呼叫

C 繼承 多型 虛函式

c 支援多繼承 class parent class parent2 class child public parent,private parent2公有繼承和私有繼承的區別 public parent 公有繼承,private和public都會繼承 private parent 私有繼承,只繼承...

C 虛函式和多型繼承

指標和引用是很好理解的,變數的引用相當於給變數取了個別名,在函式呼叫時,傳引用是會將引數列表的值改變的。include using namespace std int main 最終輸出的結果都是0x7ffdd9aff7b4,即為記憶體中儲存整型變數m的位址。對於虛函式,它是實現多型公有繼承的關鍵。...

C 多型 虛函式 純虛函式和抽象函式

多型 虛函式 純虛函式和抽象函式 多型按字面的意思就是多種形態。當類之間存在層次結構,並且類之間是通過繼承關聯時,就會用到多型。c 多型意味著呼叫成員函式時,會根據呼叫函式的物件的型別來執行不同的函式。其主要是函式的多種形態 乙個函式實現多種功能,形式是乙個乙個覆蓋。例項如下 includeusin...