借助虛函數(shù),基類指針既 可以使用基類的成員函數(shù),也可以使用派生類的成員函數(shù),它有多種形態(tài),或多種表現(xiàn)方式,這就是多態(tài)(Polymorphism)。
C++提供多態(tài)的目的是:可以通過基類指針對所有派生類(包括直接派生和間接派生)的成員變量和成員函數(shù)進行“全方位”的訪問,尤其是成員函數(shù)。如果沒有多態(tài),我們只能訪問成員變量。
構(gòu)成多態(tài)的條件
多態(tài)存在的三個條件:
1.必須存在繼承關(guān)系;
2.繼承關(guān)系中必須有同名的虛函數(shù),并且它們是覆蓋關(guān)系(重載不行)。
3.存在基類的指針,通過該指針調(diào)用虛函數(shù)。