C++ 多态 polymorphic 运行时期多态

运行时期多态  在运行的时候才能够确定被调用的函数

运行时期多态主要是通过继承和虚函数实现的

更底层一点,运行时期多态是通过虚函数表来实现的。

下面是一个多态的例子

#include 
#include 
using namespace std;

class Animal{
public:
    virtual void shout()=0; //纯虚函数
};

class Cat : public Animal{
public:
    void shout(){           //重写父类的shout函数
        cout<<"喵喵"< animals;
    animals.push_back(new Cat);
    animals.push_back(new Cat);
    animals.push_back(new Dog);
    animals.push_back(new Dog);

    for(auto one : animals){ //可以对Animal的所有子类一起调用shout函数
        one->shout();        //不同的指针对象 调用不同的实现
    }
    
    return 0;
}

C++ 多态 polymorphic 运行时期多态_第1张图片

你可能感兴趣的:(C++ 多态 polymorphic 运行时期多态)