实验五 虚函数与多态性
院(系):信息科学与技术学院 班姓级 名 学
课程名称:面向对象程序设计 号 实验成绩 所用软件 实验目的和要求
1理解编译时的多态性和运行时的多态性。 2掌握虚函数的定义与使用方法。 实验内容
1 定义一个类Animal,该类中可以存放动物的名字,并有一个Identify函数用于显示动物的种类(即”Animal”)。
2 定义两个类Cat和Dog,都继承于Animal,并重写Identify函数,不但要显示动物的种类,还要显示动物的名字。
教师签名:
实验室
3 定义Tiger类,继承于Cat,重写Identify函数,显示动物的种类和名字。
4 定义一个动物园类Zoo,管理动物,根据下面的提示编写动物类及相关函数。注意指针虚函数的用法。 class Zoo{ public:
Zoo(unsigned int max); //构造函数,max为最多能圈养的动物数 ~Zoo() { delete residents;} //析构函数
unsigned int Accept(Animal *d);//接收动物 void ListAnimals(); //显示动物园所有的动物
private:
unsigned int maxanimals; //动物园最多能圈养的动物数 unsigned int numanimals; //动物园当前圈养的动物数
Animal **residents; //指向动物园圈养的动物对象的指针数组 };