动物世界

这篇博客介绍了如何使用C++编程实现Mammal类及其派生类Dog,包括类的构造函数、访问器方法和其他特定方法。在Dog类中增加了颜色属性和相关操作,如WagTail()和BegForFood()。在主函数中展示了类的实例化和方法调用,输出了Dog实例的年龄和体重。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

补充程序 :

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

 

代码

#include <iostream>

using namespace std; 

 

enum COLOR{ WHITE, RED, BROWN, BLACK, KHAKI };

 

class Mammal

{

 public:

  //constructors

  Mammal()

  {

  }

  Mammal(int age)

  {

   itsAge = age;

  }

  

  

  //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

  {

   cout << "Mammal is sleeping..." << endl;

  } 

 protected:

  int itsAge;

  int itsWeight;

};

 

class Dog:public Mammal

{

 COLOR itsColor;

 public:

  //constructors

  Dog()

  {

  } 

  Dog(int age): Mammal(age)

  {

   

  }

  Dog(int age, int weight): Mammal(age)

  {

   SetWeight(weight);

  }

  Dog(int age, COLOR color): Mammal(age)

  {

   itsColor = color;

  }

  Dog(int age, int weight, COLOR color): Mammal(age)

  {

   SetWeight(weight);

   itsColor = color;

  }

  

  

  //accessors

  COLOR GetColor()

  {

   return itsColor;

  }

  void SetColor(COLOR color)

  {

   itsColor = color;

  } 

  //Other methods

  void WagTail()

  {

   cout << "The dog is wagging its tail..." << endl;

  }

  void BegForFood()

  {

   cout << "The dog is begging for food..." << endl;

  }

};

 

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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值