天天看點

多态性

多态性能夠簡單的概括為“1個接口,多種方法”,在程式執行的過程中才決定調用的機制

程式實作上是這樣,通過父類指針調用子類的函數,能夠讓父類指針有多種形态。

多态性:在基類的一個函數前加一個virtual能夠實作c++的多态性,意思是子類有的,調用子類的,子類沒有的調用基類的

class Animal()

{

virtual void breath() //加上virtual表示的是虛函數 ,意思是子類有的,調用子類的,子類沒有的調用基類的.

   cout<<"animal"<<endl;

}

void sleep()

   cout<<"sleep"<<endl;

        virtual void eat() = 0; //這樣定義表示的是純虛函數 ;既沒有實作函數體.含有純虛函數的類是抽象類.假設子類不實際eat()方法,也變得抽象類.

//{

// cout<<"animaleat"<<endl;

//}

class fish():public Animal()

void breath()

   cout<<"fish"<<endl;

        void fn(Animal *pAn)

   pAn->breate();

virtual void eat(); //這裡實際了基類的純虛函數

   cout<<"fish eat"<<endl;

void main()

fish fh;

Animal *pAn;

pAn = &fh;

fh(pAn);

上一篇: 多态性
下一篇: 多态性