C C 多型性解析(呼叫函式)

2021-09-07 09:34:47 字數 789 閱讀 3571

普通函式:呼叫基類還是派生類普通函式,主要是看定義的是基類指標還是派生類指標

虛函式:呼叫基類還是派生類虛函式,主要看定義的指標實際指向基類還是派生類。

測試程式:

#include

using

namespace std;

class

base

//抽象類

virtual

void

virfun()

//虛函式,動態繫結

virtual

void

purevirfun()

=0;//純虛函式,介面};

classa:

public base//基類a

virtual

void

virfun()

virtual

void

purevirfun

() override }

;classb:

public a//派生類b

virtual

void

virfun()

virtual

void

purevirfun

() override }

;執行變數:

intmain()

yunxing

執行結果:

多型性 虛函式

先來講講賦值相容規則。前面說過,派生類如果是從基類公有繼承的,則它會包含基類中除建構函式和析構函式外的所有成員,基類的公有成員也成為派生類的公有成員,又因為物件只能訪問類的公有成員,所以基類物件具有的功能,派生類物件都有。這樣就引出了賦值相容規則。賦值相容規則就是指在基類物件可以使用的地方都可以用公...

多型性 虛函式

虛函式是過載的另一種表現形式,是一種動態的過載方式。虛函式呼叫與函式體之間的聯絡在執行時才建立。c 中可以用基類的物件指標可以指向它的公有派生物件,當它指向公有派生類物件時,只能訪問派生類中從基類繼承來的成員,而不能訪問派生類中定義的成員。當指標指向不同的物件時,分別呼叫不同類的成員函式,如果將函式...

C C 程式設計(三) C 多型性

c 程式語言是一款應用廣泛,支援多種程式設計的計算機程式語言。我們今天就會為大家詳細介紹其中c 多型性的一些基本知識,以方便大家在學習過程中對此能夠有乙個充分的掌握。多型性可以簡單地概括為 乙個介面,多種方法 程式在執行時才決定呼叫的函式,它是物件導向程式設計領域的核心概念。多型 polymorph...