我的任务是
“我的狗,名叫巴迪,住在后院。晚上看到猫或松鼠来拜访时,它会吠叫。如果它看到青蛙,并且饿了,它就会吃掉它。如果它看到青蛙他不饿,他就和它玩。如果他已经吃了 2 只青蛙,但仍然饿,他会放手。如果他看到一只土狼,他会大声呼救。有时他的朋友 Spot 路过,然后他们互相追逐。如果他看到任何其他动物,他只是看着它。
编写一个测试程序和一组类来跟踪所有后院活动并将结果存储到给定夜晚的文件中。我希望你会有一个动物类,以及一个继承自动物类的猫、狗、松鼠、郊狼类。你需要记录他吃了多少只青蛙,每种类型的动物有多少来访,他玩的频率以及其他类似细节。"
您还需要编写一个测试程序,该程序将读取从其他测试程序生成的文件,并打印出他见过的每种动物的数量,以及他在特定的一天对它们做了什么。用户需要输入日期,该日期的文件信息将被读入并显示。
将任何其他功能添加到您需要的程序中,使其涵盖列出的所有必需的编程概念。创造性地完成这项任务。
-我们将使用类、数据抽象、继承、组合、指针、运算符重载和异常处理。-
#include <iostream>
#include <cstdlib>
using namespace std;
class animal{
public:
animal();
~animal();
void interactWithBuddy();
virtual int ID()
{
return ID;
}
};
class frog: public animal
{
public:
void interactWithBuddy();
void eat();
void play();
void letGo();
};
class dog: public animal
{
public:
void interactWithBuddy();
void chase();
};
class cat: public animal
{
public:
void interactWithBuddy();
void bark();
};
class coyote: public animal
{
public:
void interactWithBuddy();
void cryForHelp();
};
class squirrel: public animal
{
public:
void interactWithBuddy();
void bark();
};
class otherAnimal: public animal
{
public:
void interactWithBuddy();
void watch();
};
int main ()
{
srand(time(0));
int number;
std::cout << (rand() % 6 + 1) <<std::endl;
animal * a = new frog();
int z = a->ID();
animal * b = new dog();
int y = a->ID();
animal * c = new cat();
int x = a->ID();
animal * d = new coyote();
int w = a->ID();
animal * e = new squirrel();
int v = a->ID();
animal * f = new otherAnimal();
int u = a->ID();
return 0;
}
我知道代码只是一个外壳,但我在正确的轨道上吗?你如何建议数青蛙并计算它们是否被吃掉、被玩弄或放手?此外,我想为每个动物子类分配一个数字,然后我可以在主函数中随机化以与分配相关,但我不确定如何完成。非常欢迎提示和指示。