天天看点

多态性

多态性能够简单的概括为“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);

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