這裡用乙個shape類 rectangle類 cirle類進行說明
; virtual ~shape(){};//虛析構函式 在動態申請空間時候 防止沒析構派生類
virtual double area();//虛函式有藏的效果
virtual double zhouchang();
private:
double area;
};double shape::area()
double shape::zhouchang()
class rectangle:public shape
virtual ~rectangle(){};
virtual double area();//事實上 virtual 在子類可以不寫 但是養成顯式說明的習慣
virtual double zhouchang();
private:
double chang;
double kuang;
};double rectangle::area()
double rectangle::zhouchang()
class cirle:public shape
virtual ~cirle(){}
virtual double area();
virtual double zhouchang();
private:
double riadus;
};double cirle::area()
double cirle::zhouchang()
int main()
{ shape *a = new rectangle(1,2);
cout<
C 學習筆記 多型
引言 1.虛繼承 如果乙個派生類從多個基類派生,而這些基類又有乙個共同的基類,則在對該基類中宣告的名字進行訪問時,可能產生二義性。解決方案 虛繼承宣告,加乙個virtual 關鍵字 2.物件導向新需求 編譯器的做法不是我們期望的 如果用父類指標指向子類物件,再呼叫print 方法,均會呼叫父類中的p...
C 多型學習筆記
看了一堆介紹多型的東西,腦子裡就記得幾個概念了。靜態多型,又叫早繫結,動態多型,應該是叫晚繫結。多型的價值在於使程式更簡潔 更高效。no virtual no 多型,virtual means 已多型。不要覺得問題 很沒用 你還就是說不出來。同樣的命令,不同的物件,做出不同的動作。這就得借助the ...
C 學習筆記 多型
include iostream using namespace std 多型的思想 物件導向的三大概念 封裝 突破c函式的概念 用類做函式引數的時候可以使用物件的屬性和物件的方法 繼承 a b 復用 多型 可以使用未來 多型很重要 實現多型的三個條件 1 要有繼承 2 要有函式重寫 虛函式 vir...