一、多態(tài)性
指相同對(duì)象收到不同消息或不同對(duì)象收到相同消息時(shí)產(chǎn)生不同的實(shí)現(xiàn)動(dòng)作。C++支持兩種多態(tài)性:編譯時(shí)多態(tài)性,運(yùn)行時(shí)多態(tài)性。
1.編譯時(shí)多態(tài)性:通過(guò)重載函數(shù)實(shí)現(xiàn);
2.運(yùn)行時(shí)多態(tài)性:通過(guò)虛函數(shù)實(shí)現(xiàn)。
二、虛函數(shù)
虛函數(shù)是在基類中被聲明為virtual,并在派生類中重新定義的成員函數(shù)。可實(shí)現(xiàn)成員函數(shù)的動(dòng)態(tài)重載。
三、純虛函數(shù)
純虛函數(shù)是在基類中聲明的虛函數(shù),它在基類中沒(méi)有定義,但要求任何派生類都要定義自己的實(shí)現(xiàn)方法。在基類中實(shí)現(xiàn)純虛函數(shù)
的方法是在函數(shù)原型后加“=0”。如:
class Parent
{
??? virtual void Function()=0;//純虛函數(shù)
}
四、抽象類
包含純虛函數(shù)的類稱為抽象類。由于抽象類包含了沒(méi)有定義的純虛函數(shù),所以不能定義抽象類的對(duì)象。