私の課題は
「バディという名前の私の犬は裏庭に住んでいます。彼は夜に猫やリスが訪ねてくるのを見ると吠えます。カエルを見てお腹がすいたら食べます。カエルを見るとお腹がすいていないときは遊んでいる. すでに 2 匹のカエルを食べていて、まだお腹が空いている場合は、カエルを手放します. コヨーテを見ると、助けを求めて泣きます. 時々、友達のスポットが立ち寄って、彼らはお互いを追いかけます. 彼が他の動物を見たら、彼はただそれを見ます.
1 つのテスト プログラムと、裏庭でのすべてのアクティビティを追跡し、特定の夜の結果をファイルに保存する一連のクラスを作成します。動物クラスと、動物クラスを継承する猫、犬、リス、コヨーテのクラスがあると思います。彼が食べたカエルの数、各タイプの動物の数、訪れたカエルの数、彼が遊んだ頻度などの詳細を追跡する必要があります。"
また、他のテスト プログラムから生成されたファイルを読み取るテスト プログラムを作成し、彼が見た各タイプの動物の数、特定の日に何をしたかを出力する必要があります。ユーザーは日付を入力する必要があり、その日付のファイルからの情報が読み込まれ、表示されます。
必要なその他の機能をプログラムに追加して、リストされている必要なプログラミング概念をすべてカバーできるようにします。この割り当てで創造的になりましょう。
-クラス、データの抽象化、継承、合成、ポインター、演算子のオーバーロード、および例外処理を使用します。
#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;
}
コードが単なるシェルであることはわかっていますが、正しい方向に進んでいますか? カエルの数を数えて、食べるか、遊ぶか、手放すかを判断するにはどうすればよいでしょうか? また、各動物のサブクラスに番号を割り当て、メイン関数でランダム化して割り当てと相関させたいと考えていますが、それがどのように行われるかはわかりません。ヒントや指針は大歓迎です。