c 型別相容性原則

2021-09-29 17:07:24 字數 751 閱讀 4705

內容源自:  傳智播客

型別相容性規則是指在需要基類物件的任何地方,都可以使用公有派生類的物件來替代。通過公有繼承,派生類得到了基類中除建構函式、析構函式之外的所有成員。這樣,公有派生類實際就具備了基類的所有功能,凡是基類能夠解決的問題,公有派生類都可以解決。型別相容性原則包含下面幾種情況:

1. 子類物件可以當做父類物件使用。

2. 子類物件可以直接賦值給父類物件

3,  子類物件可以直接初始化父類物件

4.  父類指標可以直接指向子類物件

5.  父類引用可以直接指向子類物件

在替代之後, 派生類物件就可以作為基類物件使用,但是只能使用從基類繼承的成員。型別相容性規則是多型的重要基礎之一

#includeusing namespace std;

// c++中的型別相容性原則:

class parent

parent()

//父類的拷貝建構函式

parent(const parent& obj)

private:

int a;

};class child: public parent

private:

int c;

};void howtoprint(parent* p)

void howtoprint1(parent p)

int main()

C 型別相容性原則

型別相容規則是指在需要基類物件的任何地方,都可以使用公有派生類的物件來替代。通過公有繼承,派生類得到了基類中除建構函式 析構函式之外的所有成員。這樣,公有派生類實際就具備了基類的所有功能,凡是基類能解決的問題,公有派生類都可以解決。型別相容規則所指的替代包括以下情況 1.子類物件可以當作父類物件使用...

型別相容性原則

傳智掃地僧課程學習筆記。賦值相容性原則 1 1 基類指標 引用 指向 子類物件 parent p null p c1 p printp 1 2 指標做函式引數 howtoprint p1 howtoprint c1 1 3引用做函式引數 howtoprint2 p1 howtoprint2 c1 第...

相容性(空格相容性)

在chrome與firefox下顯示的寬度不同,原因是兩個瀏覽器的預設字型不同,給html規定字型即可解決。下面有各種形式的空格,各有不同 不換行空格,按下空格鍵所產生的空格,受字型影響明顯 ensp 半形空格 em寬度的一半 乙個小寫字母的寬度 基本不受字型影響 emsp 全形空格 乙個em寬度 ...