賦值相容規則:以基類a為例,在程式中需要使用基類a物件的任何地方,都可以用通過公有繼承方式繼承基類a的派生類的物件來替代。
classa;
classb:
public a;.
..a a;
b b;
a=b;..
.
這樣賦值的效果:物件b中的所有資料成員都將具有物件a中對應資料成員的值
classa;
classb:
public a;.
..b b;
a &aaa=b;..
.
classa;
classb:
public a;.
..b b;
a *bptr=
&b;
1.在替代之後,派生類的物件就可以作為基類的物件使用,但只能使用從基類繼承的成員。
2.乙個派生類的物件也是乙個基類的物件,乙個基類的物件可派上用場的地方派生類物件一樣可派上用場,但反之則不然。即派生類物件可替代基類物件,但基類物件不可以替代派生類物件;
e.g
class
person
;class
student
:public person
;void
eat(person p)
;void
study
(student s)
;int
main()
同名隱藏與賦值相容規則
在繼承體系中我們的編寫派生類一般可分四個步驟 1 吸收基類成員 除建構函式和析構函式外全部接收 2 改造基類成員 宣告乙個和某基類成員的新成員,派生類中的新成員就遮蔽了基類同名成員稱為同名隱藏 3 發展新成員 派生類新成員必須與基類成員不同名,它的加入保證派生類在功能上有所發展 4 重寫建構函式和析...
繼承與派生(5 重名隱藏問題) 非重點
注意 只要成員的名字一致就會被隱藏,不用管成員的型別一不一樣,也不用管引數的型別與個數一不一樣基類的名字 被隱藏的資料成員classa classb private a.派生類的物件名.基類名 被隱藏的資料成員classa classb private a int main 基類的名字 被隱藏的成員...
四 同名隱藏,繼承的特性 賦值相容規則
目錄 一.子類中的函式同名隱藏 二.繼承的特性 賦值相容規則 1.同名隱藏的概念 設在某一繼承關係中,子類中有乙個和父類中同名的函式 show 那麼子類在呼叫show 方法時,系統將呼叫子類的show 方法,而不會去呼叫父類的show 方法,這種現象叫做同名隱藏。切記 這裡的show 方法不是我後面...