宠物的生长(多态)
现在要开发一个系统,对宠物的生长状态进行管理。 给出下面的一个基类框架 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 带 |
推荐分享

- 1我的狗老公李淑敏33——如何 5096
- 2南京宠物粮食薄荷饼宠物食品包 4363
- 3家养水獭多少钱一只正常 3825
- 4豆柴犬为什么不建议养?可爱的 3668
- 5自制狗狗辅食:棉花面纱犬的美 3615
- 6狗交配为什么会锁住?从狗狗生 3601
- 7广州哪里卖宠物猫狗的选择性多 3535
- 8湖南隆飞尔动物药业有限公司宠 3477
- 9黄金蟒的价格 3396
- 10益和 MATCHWELL 狗 3352