賦值相容規則及虛函式

2021-06-20 15:13:18 字數 435 閱讀 2558

賦值相容規則:在需要基類物件的任何地方,都可以使用公有派生類的物件來替代,這時派生類物件得到了基類中除了建構函式、析構函式之外的成員。具體說來有以下幾種情況:

(1)派生類的物件賦值給基類物件

(2)派生類的物件初始化基類的引用

(3)派生類物件的位址賦值給指向基類的指標

在替代之後,派生類的物件就可以作為基類的物件使用,但是只能使用從基類繼承的成員。

在c++中虛函式是動態聯編的基礎,是實現多型性的重要形式。

實現動態聯編的三個條件:

(1)說明虛函式

(2)滿足賦值相容規則

(3)虛函式是通過成員函式或者指標、引用來呼叫

不能宣告虛建構函式,但是可以宣告虛析構函式,基類的析構函式未析構函式,那麼繼承類的析構函式一定是虛析構函式,不管有沒有使用關鍵字virtual

賦值相容規則

宣告 本博文內容僅供交流學習使用,部分 來自網路 關於賦值相容規則相信不少和我一樣的初學者應該是一頭霧水吧,下面我就寫出個人的看法 開始之前我先要說乙個概念 指類 相信應該沒有那個書本上這樣說吧,這個概念在下面的第3點中會用到,下面舉例說明 int p 在這裡p是乙個指標,它指向乙個int型資料的4...

賦值相容規則

賦值相容規則是指在需要基類物件的任何地方都可以使用公有派生類的物件來替代。通過公有繼承,派生類得到了基類中除建構函式 析構函式之外的所有成員,而且所有成員的訪問控制屬性也和基類完全相同。這樣,公有派生類實際就具備了基類的所有功能,凡是基類能解決的問題,公有派生類都可以解決。賦值相容規則中所指的替代包...

賦值相容規則

在一定條件下,不同型別的資料之間可以進行型別轉換,如可以將整型資料賦給雙精度型變數。在賦值之前,先把整型資料轉換成雙精度型資料,然後再把它賦給雙精度型變數。這種不同型別資料之間的自動轉換和賦值,稱為賦值相容。在基類和派生類物件之間也存有賦值相容關係,基類和派生類物件之間的賦值相容規則是指在需要基類物...