多态的关键是: **虚函数
在C++中,修饰虚函数的关键字是 virtual **_
#include <iostream>using namespace std;class Animal{virtual void speak(){cout << "Animal is speaking" << endl;return;}};class Cat:public Animal{void speak(){cout << "Cat is speaking << endl;return;}};void doSpeak(Anmial& animal){animal.speak();}int main(){Cat cat;doSpeak(cat);return 0;}
虚函数的底层逻辑
1、没有加关键字virtual的类占据的空间为1(相当于一个空类)
2、加了virtual的类占据的空间大小为4(其中生成了一个指针,该指针为vtfpr,**virtual function pointer**)

