首页 > 分享 > 7

7

现在要开发一个系统,对宠物的生长状态进行管理。

给出下面的一个基类框架

class Pet

{

protected:

string name;//姓名

int length;//身长

int weight;//体重

int current;//当前日期

public:

virtual void display(int day)=0;//输出目标日期的身长和体重

Pet(string name, int l, int w, int c);

}

以Pet为基类,构建出Cat和Dog两个类:

Cat一天身长加1,体重加2。

Dog一天身长加2,体重加1。

生成上述类并编写主函数,要求主函数中有一个基类Pet指针数组,数组元素不超过10个。

Pet *pt[10];

主函数根据输入的信息,相应建立Cat类对象或Dog类对象,并给出目标日期宠物的身长和体重。

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

输入格式:

每个测试用例占一行,每行给出宠物的基本信息,第一个为当前宠物的类型:1为Cat,2为Dog。接下来为它的名字,随后的两个数字为身长和体重,最后为测身长和体重的日期(不大于10的正整数)。最后一行为目标日期(大于10的正整数)

输出格式:

输出目标日期宠物姓名、身长和体重

输入样例:

1 Marry 22 12 5

2 Jack 10 9 9

1 Jim 11 8 6

11

输出样例:

Marry 28 24

Jack 14 11

Jim 16 18

下面是代码,第一次做的时候参考了别人的代码,这是复习自己做的:

#include<iostream>

#include <string>

using namespace std;

class Pet

{

protected:

string name;

int length;

int weight;

int current;

public:

virtual void display(int day)=0;

Pet(string name, int l, int w, int c);

};

Pet::Pet(string name, int l, int w, int c){

this->name = name;

length = l;

weight = w;

current = c;

}

class Cat:public Pet{

public:

Cat(string i,int l,int w,int cu):Pet(i,l,w,cu){

}

void display(int day){

cout<<name<<" "<<day-current+length<<" "<<(day-current)*2+weight<<endl;

}

};

class Dog:public Pet{

public:

Dog(string i,int l,int w,int cu):Pet(i,l,w,cu){

}

void display(int day){

cout<<name<<" "<<(day-current)*2+length<<" "<<day-current+weight<<endl;

}

};

int main(){

Pet *pt[10];

int n=0,size = 0;

string j;

int le,we,cur,de;

while(cin>>n){

if(n==1){

cin>>j>>le>>we>>cur;

pt[size++] = new Cat(j,le,we,cur);

}

else if(n == 2){

cin>>j>>le>>we>>cur;

pt[size++] = new Dog(j,le,we,cur);

}

else{

de = n;

break;

}

}

for(int i = 0;i<size;i++){

pt[i]->display(de);

delete pt[i];

}

}

有几个要点:

1,不知道输入几个Cat和Dog,所以要用C++动态数据分配,每次new一个动物;

2,释放分配的空间要一个一个的释放(不知道是不是因为对象数组指针不满的原因)。

相关知识

sHr? 7
【#7个月狗狗宠物店...
拉布拉多7个月注意些什么
宠物指挥官:[7]训练狗趴下,卧倒
《识字7》课堂实录(精选13篇)
梦幻西游手游:7技能吸血鬼+7技能羽云仙子=10技能羽云仙子,就是这么真实!
沈阳7*24H宠物殡葬
挑选画眉鸟7要和5不要
7旬医生示范颈椎操火了
突发!7️⃣月优惠来...

网址: 7 https://m.mcbbbk.com/newsview155921.html

所属分类:萌宠日常
上一篇: 天津买布偶猫宠物基地 买布偶猫哪
下一篇: 让宠物逆龄生长?这款即将上市的创