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

多态的基本多态-多态的基本概念-类和对象_第1张图片

#include
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;
}

你可能感兴趣的:(c++,开发语言)