多态基本语法
#include<iostream> using namespace std; class Animal { public: //speak函数就是虚函数 //函数前面加上virtual关键字,变成虚函数,编译器在编译的时候就不能确定函数调用了 virtual void speak() { cout << "动物在说话" << endl; } }; class Cat : public Animal { public: void speak() { cout << "小猫在说话" << endl; } }; class Dog : public Animal { public: //重写 函数返回值类型 函数名 参数列表 完全相同 void speak() { cout << "小狗在说话" << endl; } }; //执行说话的函数 //地址早绑定 在编译阶段确定函数地址 //如果想执行让猫说话,那么这个函数地址就不能提前绑定,需要在运行阶段进行绑定,地址晚绑定 //动态多态满足条件 //1.有继承关系 //2.子类重写父类的虚函数 //动态多态的使用 //父类的指针或者引用 执行子类对象 void test(Animal &animal) { animal.speak(); } int main(void) { Cat cat; test(cat); Dog dog; test(dog); return 0; }
计算机小白记录学习过程,喜欢就点个推荐和关注吧O(∩_∩)O哈哈~

浙公网安备 33010602011771号