vc++中運用到虛函數,實現多態時,不同的派生類執行自己的虛函數,運用時應注意:
舉例:
基類:CAnimal,虛函數:virtual call(){......}
派生類1:CDog,虛函數:virtual call(){"狗叫......"}
派生類2:CCat,虛函數:virtual call(){"貓叫......"}
1、基類定義的虛函數,在使用時,如果用基類定義變量,如:CAnimal *a,CAnimal *b,那麼在 使用虛函數時,應使用指針,若用一般的成員運算符,是達不到派生類實現的虛函數的效果(CAnimal a;a.call()之類的)。
2、用派生類來定義變量,也可以讓其實現其虛函數的功能,如:CCat cat cat.call()。