鱼C论坛

 找回密码
 立即注册
查看: 1028|回复: 2

[已解决]这个题怎么做啊

[复制链接]
发表于 2023-11-3 19:12:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
animal
题目描述
编写动物类animal,其中包含数据成员年龄age;编写带参构造函数,初始化成员age;编写成员函数display,输出animal的基本信息。
编写派生类cat,编写带参构造函数,初始化其成员;编写成员函数display,输出cat的基本信息。
编写派生类dog,编写带参构造函数,初始化其成员;编写成员函数display,输出dog的基本信息。
完成以上三个类,使下列主函数能够正确运行。
int main()
{      
int x, y, z;
      cin >> x >> y >> z;
       animal a(x);
       cat c(y);
       dog d(z);
       a.display();
       c.display();
       d.display();
}
输入描述
三个整数,分别表示动物、猫、狗的年龄
输出描述
动物、猫、狗的信息
样例
输入
2 3 4
输出
animal,age:2
cat,age:3
dog,age:4
最佳答案
2023-11-3 19:12:19
这道题目需要你定义一个动物类animal,以及它的两个派生类cat和dog。其中,animal类有一个数据成员年龄age,有一个带参构造函数,用来初始化年龄age。还有一个display成员函数,用来输出animal的基本信息。cat和dog也有一个带参构造函数,用来初始化它们的年龄age。并且它们也都有一个display成员函数,用来输出它们的基本信息。

下面是完整的代码实现:
#include <iostream>
using namespace std;

class animal {
protected:
    int age;
public:
    animal(int a): age(a) {}
    virtual void display() {
        cout << "animal,age:" << age << endl;
    }
};

class cat: public animal {
public:
    cat(int a): animal(a) {}
    void display() {
        cout << "cat,age:" << age << endl;
    }
};

class dog: public animal {
public:
    dog(int a): animal(a) {}
    void display() {
        cout << "dog,age:" << age << endl;
    }
};

int main() {
    int x, y, z;
    cin >> x >> y >> z;
    animal a(x);
    cat c(y);
    dog d(z);
    a.display();
    c.display();
    d.display();
    return 0;
}

在这个代码中,我们定义了三个类animal、cat和dog。其中,animal类是一个基类,cat和dog都是它的派生类。在animal类中,我们定义了一个数据成员age,用来存储年龄。我们还定义了一个带参构造函数,用来初始化年龄。最后,我们还定义了一个display成员函数,用来输出animal的基本信息。

在cat和dog类中,我们都继承了animal类,并且都定义了一个带参构造函数,用来初始化它们的年龄。同时,我们也都定义了一个display成员函数,用来输出它们的基本信息。在这里,我们使用了虚函数,以便在派生类中重写基类的display函数。

在主函数中,我们首先输入三个整数,分别表示动物、猫、狗的年龄。然后,我们分别创建一个animal、cat和dog对象,并且分别调用它们的display函数,输出它们的基本信息。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-3 19:12:19 | 显示全部楼层    本楼为最佳答案   
这道题目需要你定义一个动物类animal,以及它的两个派生类cat和dog。其中,animal类有一个数据成员年龄age,有一个带参构造函数,用来初始化年龄age。还有一个display成员函数,用来输出animal的基本信息。cat和dog也有一个带参构造函数,用来初始化它们的年龄age。并且它们也都有一个display成员函数,用来输出它们的基本信息。

下面是完整的代码实现:
#include <iostream>
using namespace std;

class animal {
protected:
    int age;
public:
    animal(int a): age(a) {}
    virtual void display() {
        cout << "animal,age:" << age << endl;
    }
};

class cat: public animal {
public:
    cat(int a): animal(a) {}
    void display() {
        cout << "cat,age:" << age << endl;
    }
};

class dog: public animal {
public:
    dog(int a): animal(a) {}
    void display() {
        cout << "dog,age:" << age << endl;
    }
};

int main() {
    int x, y, z;
    cin >> x >> y >> z;
    animal a(x);
    cat c(y);
    dog d(z);
    a.display();
    c.display();
    d.display();
    return 0;
}

在这个代码中,我们定义了三个类animal、cat和dog。其中,animal类是一个基类,cat和dog都是它的派生类。在animal类中,我们定义了一个数据成员age,用来存储年龄。我们还定义了一个带参构造函数,用来初始化年龄。最后,我们还定义了一个display成员函数,用来输出animal的基本信息。

在cat和dog类中,我们都继承了animal类,并且都定义了一个带参构造函数,用来初始化它们的年龄。同时,我们也都定义了一个display成员函数,用来输出它们的基本信息。在这里,我们使用了虚函数,以便在派生类中重写基类的display函数。

在主函数中,我们首先输入三个整数,分别表示动物、猫、狗的年龄。然后,我们分别创建一个animal、cat和dog对象,并且分别调用它们的display函数,输出它们的基本信息。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-3 19:13:50 | 显示全部楼层
题目分析:

这道题目要求定义一个动物类(animal),其中包含年龄数据成员(age)。同时,还需要定义一个派生类猫(cat)和一个派生类狗(dog),它们继承自动物类,并且具有自己的特定的构造函数和显示函数。

解决方案:

首先,我们定义一个基类animal,其中包含一个age的数据成员和带参构造函数用于初始化age。然后,我们定义一个派生类cat,它继承自animal,并具有自己的带参构造函数和显示函数。最后,我们定义另一个派生类dog,也继承自animal,并具有自己的带参构造函数和显示函数。

以下是实现上述需求的完整C++代码:
#include <iostream>using namespace std;class animal {protected:    int age;public:    animal(int a) : age(a) {}    void display() {        cout << "animal,age:" << age << endl;    }};class cat : public animal {public:    cat(int a) : animal(a) {}        void display() {        cout << "cat,age:" << age << endl;    }};class dog : public animal {public:    dog(int a) : animal(a) {}        void display() {        cout << "dog,age:" << age << endl;    }};int main() {    int x, y, z;    cin >> x >> y >> z;        animal a(x);    cat c(y);    dog d(z);        a.display();    c.display();    d.display();        return 0;}
编译并运行上述代码,然后根据输入的年龄,输出相应的动物信息。

示例输入:
[/code]
2 3 4
[/code]

示例输出:
[/code]
animal,age:2
cat,age:3
dog,age:4
[/code]

希望以上解答对您有帮助。如有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 15:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表