计科实验六多态的应用参考答案
更新时间:2023-10-07 11:52:01 阅读量: 综合文库 文档下载
- 计科实验室推荐度:
- 相关推荐
实验六 虚函数与多态性
一、实验目的和要求
1. 理解静态多态性和动态多态性。 2. 掌握运算符重载的基本方法。 3. 掌握虚函数的定义与使用方法。
二、实验内容
1.定义一个类Animal,该类中可以存放动物的名字,并有一个Identify函数用于显示动物的种类。定义两个类Cat和Dog,都继承自Animal,并重载Identify函数,不但要显示动物的种类,还要显示动物的名字。定义一个Tiger类,继承自Cat,重载Identify函数,显示动物的种类和名字。 #include
public: Animal(string Name,string Kind)。 virtual void show()=0。 protected: string name。 string kind。 }。
Animal::Animal(string Name,string Kind) { name=Name。 kind=Kind。 }
class Cat:public Animal {
public: Cat(string Name,string Kind):Animal(Name,Kind) {} void show() { cout<<\猫的种类和名字是:\。 cout< class Dog:public Animal { public: 1 / 6 Dog(string Name,string Kind):Animal(Name,Kind) {} void show() { cout<<\狗的种类和名字是:\。 cout< class Tiger:public Cat { public: Tiger(string Name,string Kind):Cat(Name,Kind) {} void show() { cout<<\老虎的种类和名字是:\。 cout< void main() { Animal *p。 Tiger a(\华南虎\圆圆\。 p=&a。 p->show()。 Cat b(\波斯猫\豆豆\。 p=&b。 p->show()。 Dog c(\狼狗\黑熊\。 p=&c。 p->show()。 } 2、模拟定义存折类,并派生出信用卡类;在存折类中提供可以实现开户,存款、取款和查询余额的函数,要求取款金额必须小于余额;信用卡类对取款操作进行修改,允许透支一定金额;在main()函数中定义对象,模拟生活中存折和信用卡的使用过程。 #include /*模拟定义存折类,并派生出信用卡类; 在存折类中提供可以实现开户,存款、取款和查询余额的函数, 要求取款金额必须小于余额; 信用卡类对取款操作进行修改,允许透支一定金额; 在main()函数中 2 / 6 定义对象,模拟生活中存折和信用卡的使用过程。*/ class bankbook { private: string accountnumber。 string password。 string id。 string name。 float balance。// public: bankbook(string,string,string,string,float)。 void deposit()。//存款 void withdraw()。//取款 void inquiry()。//查询 }。 bankbook::bankbook(string Accountnumber,string Password,string Id,string Name,float Balance) { accountnumber=Accountnumber。 name=Name。password=Password。id=Id。 balance=Balance。 } void bankbook::deposit() { float money。 cout<<\请输入你要存款的金额\。 cin>>money。 balance=balance+money。 cout<<\您的余额为\。。 } void bankbook::withdraw() { float money。 cout<<\请输入你要取款的金额\。 cin>>money。 balance=balance-money。 cout<<\您的余额为\。。 } void bankbook::inquiry() { cout<<\余额为:\。 } class credit:publicbankbook { 3 / 6 private: int money。//表示所能取的最大额度 public: void withdraw()。 }。 void credit::withdraw() { } 3.利用第一题中的各种动物,定义一个动物园类Zoo,经管动物,根据下面的提示编写动物类的相关函数。注意指针的用法。 class Zoo { public: Zoo( int max)。//构造函数,max为最多能圈养的动物数 ~Zoo(){delete residents}。//析构函数 int Accept(Animal *d)。//接受动物 void ListAnimals()。//显示动物园所有的动物 private: int maxanimals。//动物园最多能圈养的动物数 int numanimals。//动物园当前圈养的动物数 Animal **residents。//指向动物园全员的动物对象的指针数 }。 #include Animal::Animal(string Name,string Kind) { name=Name。kind=Kind。 } class Cat:public Animal{ public: Cat(string Name,string Kind):Animal(Name,Kind){} 4 / 6 void Identify() { cout<<\猫是:\ 品种:\。 } }。 class Dog:public Animal{ public: Dog(string Name,string Kind):Animal(Name,Kind){} void Identify() { cout<<\狗是:\ 品种:\。 } }。 class Tiger:public Cat{ public: Tiger(string Name,string Kind):Cat(Name,Kind){} void Identify() { cout<<\老虎是:\ 种类:\。 } }。 class Zoo { public: Zoo( int max)。//构造函数,max为最多能圈养的动物数 //~Zoo(){delete residents}//析构函数 int Accept(Animal *d)。//接受动物 void ListAnimals()。//显示动物园所有的动物 private: int maxanimals。//动物园最多能圈养的动物数 int numanimals。//动物园当前圈养的动物数 Animal **residents。//指向动物园全员的动物对象的指针数 }。 Zoo::Zoo(int max) { maxanimals=max。 numanimals=0。 residents=new Animal*[max]。 } int Zoo::Accept(Animal *d) { residents[numanimals]=d。 numanimals++。 return numanimals。 5 / 6 } void Zoo::ListAnimals() { int i=0。 cout<<\动物园里面包括的动物有:\只动物,分别为:\。 for(i=0。i void main() { Animal *p。 Cat c(\凯迪\波斯猫\。 Dog d(\土豆\贵宾犬\。 Dog d1(\哈利\牧羊犬\。 Tiger t(\圆圆\华南虎\。 Tiger t1(\团团\东北虎\。 p=&c。 Zoo z(10)。 z.Accept(p)。 z.Accept(&d)。 z.Accept(&t)。 z.Accept(&d1)。 z.Accept(&t1)。 z.ListAnimals()。 } 6 / 6
正在阅读:
计科实验六多态的应用参考答案10-07
小学三年级健康教育教学教案计划06-28
焦炭球团仓供料系统安全技术方案06-28
国标工业自动化仪表工程施工及验收规范(国家标准GBJ93-86)(精品.doc05-04
第二讲分析推理06-11
全心全意为人民服务03-31
临床科室建设妇产科 - 图文06-15
班级制度(共9篇)03-31
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 计科
- 多态
- 答案
- 参考
- 实验
- 应用
- 合成车间岗位责任制及技术操作规程
- 那个忙碌的身影
- 泵与风机课后习题参考答案(完整版)
- 数控技术复习题
- 可预置的显示报警系统
- 应聘信开头的基本写法
- 2010年福建省南平市中考数学试卷(word版含解析答案)
- 浅谈女性就业问题
- 课题设计 基于FPGA的多功能波形发生器的设计
- 仿蛇形机器人蠕动机构的设计 - 图文
- 实时操作系统期末复习题资料
- 2017中考英语同义句转换专练(附答案)
- 有机合成与推断1
- 新课程下的高中政治课教学
- 古代文学考试名词解释及问答题
- 通风机应用中不节能的若干问题 -
- bb平台测试题第二套 蓝色的字体为答案
- Pixhawk源码笔记一:APM代码基本结构
- 湖北省孝感市文昌中学2013-2014学年七年级生物上学期期中试题
- 逻辑学课后练习题答案