c++的多态性编程.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c的多态性编程

C++实验 一:实验目的和要求 了解多态性在C++中的体现; 掌握虚函数的使用; 了解抽象类。 二:题目内容 定义一个基类为哺乳动物类mammal,其中有数据成员年龄、重量、品种,有成员函数move()、speak()等,以此表示动物的行为。由这个基类派生出狗、猫、马、猪等哺乳动物,它们都有各自的行为。编程分别使各个动物表现出不同的行为。 三:相关知识 1:多态性 编译时的多态,运行时的多态性。 2:虚函数 Virtual 函数类型 函数名(形参表); 3: 抽象类 抽象类是带有纯虚函数的类。 纯虚函数的定义: virtual 函数类型 函数名(参数表)=0; 注意:(1)抽象类不能直接建立抽象类对象; (2)抽象类不能用作参数类型、函数返回类型或显示转换的类型; (3) 可以说明指向抽象类的指针和引用,此指针可以指向他的派生类,进而实现多态性; 四:程序设计思想 1:为实现动态联编,首先建立 Mammal抽象类,以此抽象类作为 基类,派生dog、cat、horse、pig类。其中Mammal类数据 员有(姓名)name 、(年龄)age、(重量)we 。 还有成员函数 move()、speak(),定义为纯虚函数: virtual void move()=0;virtual void speak()=0; 另一个成员函数display(),申明为虚函数virtual void display(); 2:建立各个派生类dog、cat、horse、pig。然后建立构造函数为其初始化。再把move()、speak()定义。 3:main()函数中建立指向Mammal的指针数组,并为各派生类初始化。把指针数组分别指向各个派生类。设计一个循环来显示派生类对象的信息。 五:程序 #includeiostream.h #includestring.h class Mammal { protected: char name[10]; int age; int we; public: virtual void move()=0; virtual void speak()=0; virtual void display() { cout姓名:nameendl; cout它的年龄:age岁endl; cout它的重量:wekgendl; } }; class dog:public Mammal { public: dog(char *s,int a,int w) { strcpy(name,s); age=a; we=w; } void move() { cout它的行为; cout吃骨头; cout 看门endl; } void speak() { cout它的叫声:; coutbarkendl; } void display() { Mammal::display(); speak(); move(); } }; class cat:public Mammal { public: cat(char *s,int a,int w) { strcpy(name,s); age=a; we=w; } void move() { cout它的行为; cout吃鱼 捉老鼠endl; } void speak() { cout它的叫声:; coutmewendl; } void display() { Mammal::display(); speak(); move(); } }; class horse:public Mammal { public: horse(char *s,int a,int w) { strcpy(name,s); age=a; we=w; } void move() { cout它的行为; cout奔驰 吃草endl; } void speak() { cout它的叫声:; coutneighendl; } void display() { Mammal::display(); speak(); move(); } }; class pig:public Mammal { public: pig(char *s,int a,int w) { strcpy(name,s); age=a; we=w; } void move() {

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档