C++
动物世界
1、实现Mammal类的方法
2、由Mammal类派生出Dog类,在Dog类中增加itsColor成员(COLOR类型)
3、Dog类中增加以下方法:
constructors: Dog()、Dog(int age)、Dog(int age, int weight)、Dog(int age, COLOR color)、 Dog(int age, int weight, COLOR color)、~Dog()
accessors: GetColor()、SetColor()
Other methods: WagTail()、BegForFood() ,并实现以上这些方法 。
提示:类似Speak()、WagTail()这些动作,函数体可以是输出一句话。比如:Mammal is spaeking... , The Dog is Wagging its tail...
4、补充主函数的问号部分,并运行程序,检查输出是否合理。
#include <iostream>
using namespace std;
enum COLOR{ WHITE, RED, BROWN, BLACK, KHAKI };
class Mammal
{
public:
//constructors
Mammal()
{}
Mammal(int age,int weight)
{}
~Mammal()
{}
//accessors
int GetAge() const
{
return itsAge;
}
void SetAge(int age)
{
itsAge=age;
}
int GetWeight() const
{
return itsWeight;
}
void SetWeight(int weight)
{
itsWeight=weight;
}
//Other methods
void Speak() const
{
cout<<"Mammal is speaking..."<<endl;
}
void Sleep() const;
protected:
int itsAge;
int itsWeight;
};
class Dog:public Mammal
{
public:
//constructors
Dog()
{}
Dog(int age)
{
Mammal::itsAge=age;
}
Dog(int age, int weight)
{
Mammal::itsAge=age;
Mammal::itsWeight=weight;
}
Dog(int age, COLOR color)
{
Mammal::itsAge=age;
itsColor=color;
}
Dog(int age, int weight, COLOR color)
{
Mammal::itsAge=age;
Mammal::itsWeight=weight;
itsColor=color;
}
~Dog()
{}
//accessors
void GetColor();
void SetColor();
//Other methods
void WagTail()
{
cout<<"The dog is wagging its tail..."<<endl;
}
void BegForFood();
private:
COLOR itsColor;
};
int main()
{
Dog Fido;
Dog Rover(5);
Dog Buster(6, 8);
Dog Yorkie(3, RED);
Dog Dobbie(4, 20, KHAKI);
Fido.Speak();
Rover.WagTail();
cout << "Yorkie is " << Yorkie.GetAge() << " years old." << endl;
cout << "Dobbie weighs " << Dobbie.GetWeight() << " pounds." << endl;
return 0;
}