型別相容規則
通過公有繼承,派生類得到了基類中除建構函式、析構函式之外的所有成員。這樣,公有派生類實際就具備了基類的所有功能,凡是基類能解決的問題,公有派生類都可以解決。
乙個公有派生類的物件在使用上可以被當作基類的物件
通過基類物件名、指標只能使用從基類繼承的成員
#include using namespace std;
class base1
};class base2 : public base1
};class derived : public base2
};void fun(base1 *ptr)
int main()
執行結果:base1::display()
base1::display()
base1::display()
同名隱藏規則
當派生類與基類中有相同成員時:
#include using namespace std;
class base1
};class base2
};class derived : public base1, public base2 //同名函式成員
};int main()
執行結果
member of derived
member of base1
member of base2
同名隱藏與賦值相容規則
在繼承體系中我們的編寫派生類一般可分四個步驟 1 吸收基類成員 除建構函式和析構函式外全部接收 2 改造基類成員 宣告乙個和某基類成員的新成員,派生類中的新成員就遮蔽了基類同名成員稱為同名隱藏 3 發展新成員 派生類新成員必須與基類成員不同名,它的加入保證派生類在功能上有所發展 4 重寫建構函式和析...
四 同名隱藏,繼承的特性 賦值相容規則
目錄 一.子類中的函式同名隱藏 二.繼承的特性 賦值相容規則 1.同名隱藏的概念 設在某一繼承關係中,子類中有乙個和父類中同名的函式 show 那麼子類在呼叫show 方法時,系統將呼叫子類的show 方法,而不會去呼叫父類的show 方法,這種現象叫做同名隱藏。切記 這裡的show 方法不是我後面...
c 多型之型別相容規則
在替代之後,派生類物件就可以作為基類的物件使用,但是只能使用從基類繼承的成員 通過公有繼承,派生類得到了基類中除建構函式 析構函式之外的所有成員 示例三種替代情況 classa classb public a a a,aa b b 1 派生類的物件可以賦值給基類物件 a b 2 派生類的物件可以初始...