2011邵阳市中考物理试题及答案讲解_第1页
2011邵阳市中考物理试题及答案讲解_第2页
2011邵阳市中考物理试题及答案讲解_第3页
2011邵阳市中考物理试题及答案讲解_第4页
2011邵阳市中考物理试题及答案讲解_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验六 虚函数与多态性一、实验目的和要求1. 理解静态多态性和动态多态性。2. 掌握运算符重载的基本方法。3. 掌握虚函数的定义与使用方法。二、实验内容1.定义一个类Animal,该类中可以存放动物的名字,并有一个Identify函数用于显示动物的种类。定义两个类Cat和Dog,都继承自Animal,并重载Identify函数,不但要显示动物的种类,还要显示动物的名字。定义一个Tiger类,继承自Cat,重载Identify函数,显示动物的种类和名字。#includeusing namespace std;#includeclass Animalpublic: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 Animalpublic:Cat(string Name,string Kind):Animal(Name,Kind)void show()cout猫的种类和名字是:endl;coutkind nameendl;class Dog:public Animalpublic:Dog(string Name,string Kind):Animal(Name,Kind)void show()cout狗的种类和名字是:endl;coutkind nameendl;class Tiger:public Catpublic:Tiger(string Name,string Kind):Cat(Name,Kind)void show()cout老虎的种类和名字是:endl;coutkind nameshow();Cat b(波斯猫,豆豆);p=&b;p-show();Dog c(狼狗,黑熊);p=&c;p-show();2、模拟定义存折类,并派生出信用卡类;在存折类中提供可以实现开户,存款、取款和查询余额的函数,要求取款金额必须小于余额;信用卡类对取款操作进行修改,允许透支一定金额;在main()函数中定义对象,模拟生活中存折和信用卡的使用过程。#includeusing namespace std;#include/*模拟定义存折类,并派生出信用卡类;在存折类中提供可以实现开户,存款、取款和查询余额的函数,要求取款金额必须小于余额;信用卡类对取款操作进行修改,允许透支一定金额;在main()函数中定义对象,模拟生活中存折和信用卡的使用过程。*/class bankbookprivate: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请输入你要存款的金额money;balance=balance+money;cout您的余额为balanceendl;void bankbook:withdraw()float money;cout请输入你要取款的金额money;balance=balance-money;cout您的余额为balanceendl;void bankbook:inquiry()cout余额为:balanceendl;class credit:public bankbookprivate: int money;/表示所能取的最大额度public:void withdraw();void credit:withdraw() 3利用第一题中的各种动物,定义一个动物园类Zoo,管理动物,根据下面的提示编写动物类的相关函数。注意指针的用法。class Zoopublic:Zoo( int max);/构造函数,max为最多能圈养的动物数Zoo()delete residents;/析构函数int Accept(Animal *d);/接受动物void ListAnimals();/显示动物园所有的动物private:int maxanimals;/动物园最多能圈养的动物数int numanimals;/动物园当前圈养的动物数Animal *residents;/指向动物园全员的动物对象的指针数;#include using namespace std;#include class Animalpublic:Animal(string Name=,string Kind=);virtual void Identify()coutkindendl;protected:string name;string kind;Animal:Animal(string Name,string Kind)name=Name;kind=Kind;class Cat:public Animalpublic:Cat(string Name,string Kind):Animal(Name,Kind)void Identify()cout猫是:name 品种:kindendl; ;class Dog:public Animalpublic:Dog(string Name,string Kind):Animal(Name,Kind)void Identify()cout狗是:name 品种:kindendl; ;class Tiger:public Catpublic:Tiger(string Name,string Kind):Cat(Name,Kind)void Identify()cout老虎是:name 种类:kindendl; ;class Zoopublic: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)residentsnumanimals=d;numanimals+;return numanimals;void Zoo:ListAnimals()int i=0;cout动物园里面包括的动物有:numanimals只动物,分别为:endl;for(i=0;iIdentify();void main()Animal *p;Cat c(凯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论