c 學習之賦值相容規則

2021-07-11 04:35:50 字數 1367 閱讀 4020

規則一:

派生類的物件可以給基類物件賦值(因為在繼承的時候c繼承了父類的資訊,可以在進行了物件切片後給子類中相應的父類資訊段賦值)

eg:

class base

~base(){}

public:

int x;

};class d : public

base

~d(){}

public:

int y;

};int main()

class base

~base(){}

public:

void

show(){}

public:

int x;

};class d : public

base

~d(){}

public:

void

show(int){}

void print(){}

public:

int y;

};int main()

規則三:

派生類物件可以初始化基類的引用; 引用就是乙個別名;

並且這個別名只能包含派生類物件中由父類繼承來的隱藏物件

class base

~base(){}

public:

void

show(){}

public:

int x;

};class d : public

base

~d(){}

public:

void

show(int){}

void print(){}

public:

int y;

};int main()

要想讓其呼叫子類的方法就要在父類中將與子類的同名同引數,同返回值的方法加virtual關鍵字就可以呼叫子類的方法(也就是多型)

class base

~base(){}

public:

virtual

void

show(){}

public:

int x;

};class d : public

base

~d(){}

public:

void

show(int){}

void print(){}

public:

int y;

};int main()

c 賦值相容規則介紹

賦值相容規則是指在需要父類物件的地方可以使用子類物件來代替 通過public繼承,子類得到了父類除構造 析構函式之外的所有成員,且所有成員的訪問屬性和父類的完全相同。這樣,public繼承的子類實際就具備了父類的所有功能,凡是父類能解決的問題,子類都可以解決。賦值相容規則是發生在父類和子類之間的 1...

賦值相容規則

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

賦值相容規則

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