欢迎来到天天文库
浏览记录
ID:53872053
大小:80.51 KB
页数:6页
时间:2020-04-10
《c++的多态性编程.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C++实验一:实验目的和要求1.了解多态性在C++中的体现;2.掌握虚函数的使用;3.了解抽象类。二:题目内容定义一个基类为哺乳动物类mammal,其中有数据成员年龄、重量、品种,有成员函数move()、speak()等,以此表示动物的行为。由这个基类派生出狗、猫、马、猪等哺乳动物,它们都有各自的行为。编程分别使各个动物表现出不同的行为。三:相关知识1:多态性编译时的多态,运行时的多态性。2:虚函数Virtual函数类型函数名(形参表);3:抽象类抽象类是带有纯虚函数的类。纯虚函数的定义:virtual函数类型函数名(参数表)=0;注意:(1)抽象类不能直接建立抽象类对象
2、;(2)抽象类不能用作参数类型、函数返回类型或显示转换的类型;(3)可以说明指向抽象类的指针和引用,此指针可以指向他的派生类,进而实现多态性;四:程序设计思想1:为实现动态联编,首先建立Mammal抽象类,以此抽象类作为基类,派生dog、cat、horse、pig类。其中Mammal类数据员有(姓名)name、(年龄)age、(重量)we。还有成员函数move()、speak(),定义为纯虚函数:virtualvoidmove()=0;virtualvoidspeak()=0;另一个成员函数display(),申明为虚函数virtualvoiddisplay();2:建立
3、各个派生类dog、cat、horse、pig。然后建立构造函数为其初始化。再把move()、speak()定义。3:main()函数中建立指向Mammal的指针数组,并为各派生类初始化。把指针数组分别指向各个派生类。设计一个循环来显示派生类对象的信息。五:程序#include#includeclassMammal{protected:charname[10];intage;intwe;public:virtualvoidmove()=0;virtualvoidspeak()=0;virtualvoiddisplay(){cout
4、<<"姓名:"<5、y();speak();move();}};classcat:publicMammal{public:cat(char*s,inta,intw){strcpy(name,s);age=a;we=w;}voidmove(){cout<<"它的行为";cout<<"吃鱼"<<"捉老鼠"<6、nta,intw){strcpy(name,s);age=a;we=w;}voidmove(){cout<<"它的行为";cout<<"奔驰"<<"吃草"<7、<"吃"<<"睡"<
5、y();speak();move();}};classcat:publicMammal{public:cat(char*s,inta,intw){strcpy(name,s);age=a;we=w;}voidmove(){cout<<"它的行为";cout<<"吃鱼"<<"捉老鼠"<6、nta,intw){strcpy(name,s);age=a;we=w;}voidmove(){cout<<"它的行为";cout<<"奔驰"<<"吃草"<7、<"吃"<<"睡"<
6、nta,intw){strcpy(name,s);age=a;we=w;}voidmove(){cout<<"它的行为";cout<<"奔驰"<<"吃草"<7、<"吃"<<"睡"<
7、<"吃"<<"睡"<
此文档下载收益归作者所有