资源描述:
《动物园管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、自己写deC++动物园管理系统//动物园.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include°iostreamM#include"string"#include"iomanip"#defineMaxsize100#defineNUM2usingnamespacestd;classAnimal{public:Animal(charnla,char*k);virtual~Animal();〃虚析构函数virtualvoidShow();virtualchar*GetName(char*str)=O;virtualchar*GetKind(char*
2、k)=0;protected:char*name;intage;char*kind;);Animal::Animal(char*n,inta,char*k){name=newchar[strlen(n)+lj;strcpy(name,n);age=a;kind=newchar[strlen(k)+l];strcpy(kind,k);}Animal::〜Animal(){if(name!=NULL)delete
3、]name;if(kind!=NULL)delete[]kind;}voidAnimal::Show()cout«n我是H«kind«u中的一员n«endl;cout«H我叫H«
4、name«endl;cout«"我今年"«age«"岁T"«endl;}classDog:publicAnimal{public:Dog(char*n,inta,char*k);~Dog();voidShow();char*GetName(char*str);char:i:GetKind(char*k);staticintGetNum();private:staticintnum;};intDog::num=0;Dog::Dog(char*n,inta.char*k):Animal(n,a,k){num++;}Dog:>Dog(){num—;}voidDog::Show(){Anima
5、l::Show();cout«H现在我有n«num«H个小伙伴M«endl;}char*Dog::GetName(char*str){str=newchar[strlen(name)+1];strcpy(stiame);returnstr;}char:1:Dog::GetKind(char*k){k=newchar[strlen(kind)+1];strcpy(k.kind);returnk;}intDog::GetNum()returnnum;}classCatipublicAnimal{public:Cat(char*n,inta,char*k);〜Cat();voidShow
6、();char*GetName(char*str);char*GetKind(char*k);staticintGetNum();private:staticintnum;};intCat::num=0;Cat::Cat(char*n.inta,char*k):Animal(n,a,k){num++;}Cat::~Cat(){num--;}voidCat::Show(){Animal::Show();cout«"现在我有^'«num«'^个小伙伴M«endl;}char*Cat::GetName(char*str){str=newchar[strlen(name)+1];strcpy(
7、str,name);returnstr;}char*Cat::GetKind(char*k){k=newchar[strlen(kind)+1];strcpy(k,kind);returnk;}intCat::GetNum()returnnum;classPlateAnimakpublicAnimal{public:PlateAnimal(char*n,inta,char*k);〜PlateAnimal();voidShow();char*GetName(char*str);char*GetKind(char*k);staticintGetNum();private:staticint
8、num;);intFlateAnimal::num=O;PlateAnimal::PlateAnimal(char*n,inta,char*k):Animal(n,a,k){num++;}PlateAnimal:>PlateAnimal(){num—;}voidPlateAnimal::Show(){Animal::Show();//cout«"现在我有,'«num«H个小伙伴"«endl;}char*PlateAnimaI::GetName(