首页 分享 宠物的生长(多态)

宠物的生长(多态)

来源:萌宠菠菠乐园 时间:2024-09-14 06:51

现在要开发一个系统,对宠物的生长状态进行管理。 给出下面的一个基类框架 class Pet { protected:   string name;//姓名 int length;//身长 int weight;//体重 int current;//当前日期 public: virtual void display(int day)=0;//输出目标日期的身长和体重 } 以Pet为基类,构建出Cat和Dog两个类: Cat一天身长加1,体重加2。 Dog一天身长加2,体重加1。 生成上述类并编写主函数,要求主函数中有一个基类Pet指针数组,数组元素不超过10个。 Pet *pt[10]; 主函数根据输入的信息,相应建立Cat类对象或Dog类对象,并给出目标日期宠物的身长和体重。

提示:应用虚函数实现多态

1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 class Pet      //Pet类 抽象类 6 { 7 protected: 8 string name; 9 int length,weight,current; 10 public: 11 virtual void display(int day)=0;  //虚函数  12 virtual ~Pet(){}; 13 }; 14 15 class Cat:public Pet 16 { 17 public: 18 Cat(){}; 19 Cat(string N,int L,int W,int C); 20 void display(int day); 21 }; 22 23 Cat::Cat(string N,int L,int W,int C)  //初始化Cat类对象 24 { 25 name=N,length=L,weight=W,current=C; 26 } 27 28 void Cat::display(int day)  //重载虚函数 29 { 30 cout<<name<<" "<<length+(day-current)<<" "<<weight+(day-current)*2<<endl; 31 } 32 33 class Dog:public Pet 34 { 35 public: 36 Dog(){}; 37 Dog(string N,int L,int W,int C); 38 void display(int day); 39 }; 40 41 Dog::Dog(string N,int L,int W,int C)  //初始化Dog类对象 42 { 43 name=N,length=L,weight=W,current=C; 44 } 45 46 void Dog::display(int day) 47 { 48 cout<<name<<" "<<length+(day-current)*2<<" "<<weight+(day-current)<<endl; 49 } 50 51 int main() 52 { 53 int flag,i(0); 54 Pet *pt[10]; 55 string name; 56 int length,weight,time; 57 while(cin>>flag,flag==1||flag==2)  //输入flag,当flag==1或==2时执行 58 { 59 cin>>name>>length>>weight>>time; 60 switch(flag) 61 { 62 case 1:pt[i++]=new Cat(name,length,weight,time);break; 63 case 2:pt[i++]=new Dog(name,length,weight,time);break; 64 } 65 } 66 for(int j(0);j<i;j++) 67 { 68 pt[j]->display(flag); 69 } 70 return 0; 71 }

相关知识

宠物的生长(多态)
宠物的生长(虚函数和多态)
Java笔记:多态polymorphic
举例理解java的多态,通俗,易懂
多态使用案例
编写程序模拟“主人”喂养“宠物”的场景,利用多态的思想!!!
编写程序模拟“主人”喂养“宠物”的场景,利用多态的思想。
使用多态实现主人领养宠物并与宠物玩耍
小狗生长图表:我的小狗什么时候完成生长?
宠物生长周期

网址: 宠物的生长(多态) https://www.mcbbbk.com/newsview147474.html

所属分类:萌宠日常
上一篇: jsp宠物领养平台管理系统55v
下一篇: jsp宠物领养系统so2mc 带

推荐分享