多态-多态的基本概念-类和对象

2023-12-28 20:00:45

多态的基本

#include<iostream>
using namespace std;
//动物类
class Animal
{
public:
	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 doSpeak(Animal &animal)
{
	animal.Speak();
}

void test01()
{
	Cat cat;
	Dog dog;
	doSpeak(cat);
	doSpeak(dog);
}
int main()
{
	test01();
	system("pause");
	return 0;
}

文章来源:https://blog.csdn.net/xms12_3/article/details/135262887
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。