7-12 动物世界

文章描述了一个C++编程任务,涉及创建一个Mammal类及其派生类Dog。Dog类增加了颜色属性和相关方法,如WagTail()和BegForFood()。在主函数中,实例化了Dog对象并调用了相应的方法,输出了预期的结果。
摘要由CSDN通过智能技术生成

7-12 动物世界

补充程序 :

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.
#include <iostream>
using namespace std;
enum COLOR{ WHITE, RED, BROWN, BLACK, KHAKI };

class Mammal
{
public:
    //constructors
    Mammal(){};
    Mammal(int age): itsAge(age){};
    ~Mammal(){};

    //accessors
    int GetAge() const;
    void SetAge(int);
    int GetWeight() const;
    void SetWeight(int);

    //Other methods
    void Speak() const{
        cout<<"Mammal is speaking..."<<endl;
    }
    void Sleep() const{
        cout<<"Mammal is sleeping..."<<endl;
    }
protected:
    int itsAge;
    int itsWeight;
};
int Mammal::GetAge() const{
    return itsAge;
}
void Mammal::SetAge(int age){
    itsAge = age;
}
int Mammal::GetWeight() const{
    return itsWeight;
}
void Mammal::SetWeight(int weight){
    itsWeight = weight;
}
class Dog:public Mammal{
private:
    COLOR itsColor;
public:
    //constructors
    Dog(){};
    Dog(int age):Mammal(age){};
    Dog(int age, int weight): Mammal(age){
        this->SetWeight(weight);
    };
    Dog(int age, COLOR color):Mammal(age),itsColor(color){};
    Dog(int age, int weight, COLOR color): Mammal(age),itsColor(color){
        this->SetWeight(weight);
    };
    ~Dog(){};
    //accessors:
     COLOR GetColor() const{
        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;
    int define = 0;
    return 0;
}

总结

  1. 无论是构造函数,还是析构函数,无论函数体里有没有内容,都要加 { };否则就不完整。
  2. 当基类构造方法不全时,可以在派生类构造函数的函数体内用this指针进行初始化操作。
  3. 当然本题还可以面向答案编程。
S7-300是西门子推出的一款小型可编程控制器(PLC),适用于工业自动化领域。SCL(Structured Control Language)是一种用于编程S7-300的高级语言,使用它可以完成复杂的控制逻辑。CSDN是国内知名的IT技术社区,提供了大量关于S7-300和SCL的教程和资源。 模糊逻辑(Fuzzy Logic)是一种数学工具,用于处理不确定和模糊的信息。与传统的逻辑不同,模糊逻辑引入了模糊集合、模糊推理和隶属度等概念,可以用来处理现实世界中存在的模糊问题。模糊逻辑在工业自动化领域中有着广泛的应用,能够处理各种复杂的控制逻辑。 S7-300 PLC提供了多种编程语言,包括图形化编程语言(Ladder Diagram)、指令列表(Instruction List)和高级结构化编程语言(Structured Text)。SCL就是其中一种结构化文本语言,它是在Instruction List的基础上发展而来的,具有结构化的特点,适合用于编写复杂控制逻辑。使用SCL语言编写PLC程序时,可以充分发挥模糊逻辑的优势,解决复杂的控制问题。 在CSDN上可以找到关于S7-300和SCL编程的教程和资源。这些资源可以帮助PLC工程师了解S7-300的基本原理和功能,并学习如何使用SCL语言编写控制程序。此外,CSDN上还有其他与S7-300相关的讨论和交流,可以帮助工程师解决在实际应用中遇到的问题。 总之,S7-300 PLC和SCL语言是工业自动化领域中常用的控制设备和编程语言,而模糊逻辑则是处理复杂控制问题的重要工具。对于有需要的工程师来说,通过CSDN上的相关资源,可以学习到更多关于S7-300和SCL的知识,提升在工业自动化领域的应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值