猫和老鼠

/*
作业:
“四支老鼠抬花轿,一支老鼠放鞭炮,前面两只当鼓手,咚隆咚隆真热闹,这时老猫来贺喜,一只一只全吃掉。”。
这首儿歌描述了老鼠婚嫁的场面。完成下面两个问题:

(1)就这段描述,找出所有可能对象,用C++定义相应的类
(2)在main函数中,用你定义的类产生对象,并用这些对象尽可能地模拟出儿歌中描述的场面。
*/

/main.cpp/

include"Mouse.h"

include"Cat.h"

define NUMBER_OF_MOUSE 8

include

using namespace std;

int main()
{
Mouse mouse;
Mouse
mouse=new Mouse[NUMBER_OF_MOUSE];
Cat cat;
for (int i=0; i<4;i++){
mouse[i].Rasing();
}
mouse[4].Fire();
mouse[5].Drum();
mouse[6].Drum();
mouse[6].Set();
for (int i=0; i<NUMBER_OF_MOUSE; i++){
cat.eatMouse(mouse[i]);
}
return 0;
}
/Animal.h/

ifndef _ANIMAL_DEAD_H

define _ANIMAL_DEAD_H

include <string.h>

include

using namespace std;
class Animal
{
public:
Animal(const string &name="Animal");
//~Animal();
protected:
string name;

};

endif

/Animal.cpp/

include "Animal.h"

Animal::Animal(const string &name){
this->name=name;
}

/Cat.h/

ifndef CAT_HEAD_H

define CAT_HEAD_H

include"Mouse.h"

include"Animal.h"

include

using namespace std;
class Cat:public Animal
{
public:

   Cat(const string &name="cat");
   void eatMouse(Mouse m);
    string getName();

};

endif

/Cat.cpp/

include "Cat.h"

Cat::Cat(const string &name){
this->name=name;
}
void Cat::eatMouse(Mouse m){
cout<< this->name<<" eating "<<m.getName()<<endl;
}
string Cat::getName(){
return this->name;
}

/Mouse.h/

ifndef _MOUSE_HEAD_H

define _MOUSE_HEAD_H

include

using namespace std;

include "Animal.h"

class Mouse:public Animal
{
public:
Mouse(const string &name="mouse");
void Rasing();
void Fire();
void Drum();
void Set();
string getName();
};

endif

/Mouse.cpp/

include"Mouse.h"

Mouse::Mouse(const string &name){
this->name=name;
}
void Mouse::Rasing(){
cout< getName()<<" Rasing()"<<endl;
}
void Mouse::Fire(){
cout< getName()<<" Fire()"<<endl;
}
void Mouse::Drum(){
cout< getName()<<" Drum()"<<endl;
}
void Mouse::Set(){
cout< getName()<<" Set()"<<endl;
}
string Mouse::getName(){
return this->name;
}

猜你喜欢

转载自www.cnblogs.com/plusyou13/p/11108097.html