多态其实就是一种类的抽象,我们把某些有共性的对象进行抽象成为父类,然后再为每个不同对象赋予特定的属性。比如说猫狗什么,都可以抽象为宠物,然后你可以规定一些宠物的属性和方法,你想把它当猫就可以添加猫的特性,你想把它当狗就可以添加狗的特性,这样可以简化编程和清晰类结构。
那我们先说说C++的多态实现把
运行时多态需要使用虚函数实现
#include <iostream>
using namespace std;
class Parent
{
public:
int parent;
inline Parent(){}
inline Parent(int parent) { this->parent = parent; }
inline virtual void haveFun() { cout << "haveFun in Parent" << endl; }
};
class Child : public Parent
{
public:
int child;
inline Child(){}
inline Child(int child) : Parent(child + 1) { this->child = child; }
inline void haveFun() { cout << "haveFun in Child" << endl; }
};
int main(void)
{
Parent* p = new Child(2);
p->haveFun();
return 0;
}