1. 程式人生 > 其它 >子類重寫父類虛擬函式_6-c++學習-多型與純虛擬函式

子類重寫父類虛擬函式_6-c++學習-多型與純虛擬函式

技術標籤:子類重寫父類虛擬函式

1,定義

81ae89b37c10e2dd96821de8442beef2.png

2,多型發生的3個必要條件

a)要有繼承
b)要有虛擬函式重寫
c)父類指標或引用指向子類物件

3,多型示例

#父類定義虛擬函式
class A
{
     virtual void fight()
     {
            ......
     }
};

#子類重寫虛擬函式
class B : public A
{
     virtual void fight()
     {
            ......
     }
};

#父類指標或引用指向子類物件
void fightPeople(A *people)
{
     #該函式會更具傳入的物件的不同去呼叫不同的fight方法
     people->fight();
}

4,純虛擬函式的定義

a)在一個基類中被說明,要求任何派生類都需要實現該方法
b)virtual void 函式名(引數列表) = 0;
c)實現:
virtual void 函式名(引數列表)
{
      ......
}
d)包含純虛擬函式的類就叫抽象類