面向对象程序设计C++实验报告书模板Word文档下载推荐.docx
- 文档编号:16939286
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:10
- 大小:28.32KB
面向对象程序设计C++实验报告书模板Word文档下载推荐.docx
《面向对象程序设计C++实验报告书模板Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计C++实验报告书模板Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
二、实验步骤
.1、实现一个简易的管理系统,可以增加、删除指定笼子中的宠物,
查询每个笼子中存放宠物的情况(包括笼子为空的情况),统计宠物的种类和数量;
2、定义描述宠物屋的类Shelves,其中有12个笼子用于存放各种宠物;
3、定义虚拟基类Animal,至少包括纯虚函数ShowMe;
4、定义派生类Cat、Dog和Snake,具体实现上述纯虚函数ShowMe,显示该宠物的种类、名称、颜色、体重和喜爱的食物;
5、重载输入“>
>
”操作符,使得可以通过cin直接读入宠物颜色、体重和喜爱的食物;
6编写main函数,测试上述所要求的各种功能。
*/
三、程序内容
#include<
iostream.h>
classAnimal
{
protected:
inttype;
char*name;
intweigh;
char*color;
char*food;
public:
virtualvoidAddNum()=0;
virtualvoidDeleteNum()=0;
virtualvoidShowMe()=0;
};
classCat:
publicAnimal
private:
staticintcatnum;
Cat(){
type=0;
name=newchar[20];
weigh=0;
color=newchar[20];
food=newchar[20];
}
voidAddNum(){catnum++;
}
intGetcatnum(){returncatnum;
voidDeleteNum(){catnum--;
friendistream&
operator>
(istream&
is,Cat&
cat);
voidShowMe();
classDog:
staticintdognum;
Dog(){
type=1;
food=newchar[20];
voidAddNum(){dognum++;
intGetdognum(){returndognum;
voidDeleteNum(){dognum--;
is,Dog&
dog);
classSnake:
{private:
staticintsnakenum;
Snake(){
type=2;
voidAddNum(){snakenum++;
intGetsnakenum(){returnsnakenum;
voidDeleteNum(){snakenum--;
is,Snake&
snake);
classShelves
Animal*cage[12];
Shelves()
{for(inti=0;
i<
12;
i++)
cage[i]=NULL;
voidAppend();
voidDelete();
voidQuery();
voidStat();
intCat:
:
catnum=0;
istream&
cat)
{cout<
<
"
请输入宠物的名称:
"
;
cin>
cat.name;
cout<
************体重:
cat.weigh;
************颜色:
cat.color;
************食物:
cat.food;
returnis;
voidCat:
ShowMe()
endl;
宠物猫的信息"
宠物的名称:
name<
******体重:
weigh<
******颜色:
color<
食物:
food<
intDog:
dognum=0;
dog)
dog.name;
dog.weigh;
dog.color;
dog.food;
voidDog:
宠物狗的信息"
intSnake:
snakenum=0;
snake)
snake.name;
snake.weigh;
snake.color;
snake.food;
voidSnake:
宠物蛇的信息"
voidShelves:
Append()
{intno,t;
endl<
请输入要添加宠物笼的编号(1--12):
no;
no--;
if(cage[no]!
=NULL||no>
=12)
cout<
该笼子中已经有宠物,请重新选择笼子."
else{
请输入要添加宠物的种类(0.猫1.狗2.蛇):
cin>
t;
if(t==0){
Cat*cat;
cat=newCat;
cin>
*cat;
cage[no]=cat;
cage[no]->
AddNum();
cout<
宠物添加成功!
}
elseif(t==1){
Dog*dog;
dog=newDog;
*dog;
cage[no]=dog;
elseif(t==2){
Snake*snake=newSnake;
cin>
*snake;
cage[no]=snake;
cage[no]->
cout<
elsereturn;
Delete()
{intno;
请输入要删除宠物笼的编号(1--12):
if(cage[no]==NULL)
该笼子中已经没有宠物了!
elseif(no>
该笼子不存在!
DeleteNum();
cage[no]=NULL;
该宠物成功出笼!
return;
Query()
请输入要查询笼子的编号(1-12):
该笼子是空的!
=12||no<
0)
else
ShowMe();
Stat()
{Catcat;
Dogdog;
Snakesnake;
宠物屋中有"
******猫:
cat.Getcatnum()<
只"
******狗:
dog.Getdognum()<
******蛇:
snake.Getsnakenum()<
voidmain()
{Shelvesshelves;
intchioce;
********************本系统提供以下功能********************"
while(chioce!
=5)
{cout<
1.宠物进笼2.宠物出笼3.查询宠物4.统计宠物5.退出"
chioce;
switch(chioce)
{
case1:
shelves.Append();
break;
case2:
shelves.Delete();
case3:
shelves.Query();
case4:
shelves.Stat();
case5:
四、上机结果及分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 C+ 实验 报告书 模板