7-3 动物世界 (15 分)
补充程序 :
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、补充主函数的问号部分,并运行程序,检查输出是否合理。
enum COLOR{ WHITE, RED, BROWN, BLACK, KHAKI };class Mammal{
public: //constructors
Mammal();
Mammal(int age);
~Mammal(); //accessors
int GetAge() const; void SetAge(int); int GetWeight() const; void SetWeight(int); //Other methods
void Speak() const; void Sleep() const;
protected: int itsAge; int itsWeight;
};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 " << ?? << " years old." << endl; cout << "Dobbie weighs " << ?? << " pounds." << endl;
return 0;
}
输入格式:
无
输出格式:
按照程序格式输出。
输入样例:
在这里给出一组输入。例如:
无
输出样例:
在这里给出相应的输出。例如:
Mammal is speaking...
The dog is wagging its tail...
Yorkie is 3 years old.
Dobbie weighs 20 pounds.
作者
陈晓梅
单位
广东外语外贸大学
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
enum COLOR{ WHITE, RED, BROWN, BLACK, KHAKI }; #include<iostream> using namespace std; class Mammal{ public: Mammal(){ itsAge=0; itsWeight=0; } Mammal(int age){ itsAge=age; } Mammal(int age,int weight){ itsAge=age; itsWeight=weight; } int GetAge()const{ return itsAge; } int GetWeight()const{ return itsWeight; } void SetWeight(int Weight){ itsWeight=Weight; } protected: int itsAge; int itsWeight; }; class Dog:public Mammal{ COLOR itsColor; public: void Speak(){ cout<<"Mammal is speaking..."<<endl; } void WagTail(){ cout<<"The dog is wagging its tail..."<<endl; } Dog(){} Dog(int age):Mammal(age){} Dog(int age,int weight):Mammal(age,weight){} Dog(int age,int weight,COLOR x):Mammal(age,weight){ itsColor=x; } }; 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."; return 0; }