天天看點

C++學習013多态

它可以提供一個通過用的接口,同樣調用一個方法,

由于運算對象不同,方法也不同,這也就是所謂的動态綁定。

#include <iostream>
#include <stdio.h>
using namespace std;
 
class Animal
{
public:
    virtual void Cry()=0;
 
};
/*
void Animal::Cry()
{
    cout<<"base class"<<endl;
}
*/
class Dog:public Animal
{
public:
    virtual void Cry()
    {
        cout<<"wang,wang"<<endl;
    }
};
class Cat:public Animal
{
public:
    virtual void Cry()
    {
        cout<<"miao miao"<<endl;
 
    }
};
 
int main()
{
    Animal* animalone = new Dog;
    animalone->Cry();
    delete animalone;
    animalone = new Cat;
    animalone->Cry();
 
    Dog dog;
    dog.Cry();
    Cat cat;
    cat.Cry();
 
 
 
    return 0;
}      
C++學習013多态

繼續閱讀