鱼C论坛

 找回密码
 立即注册
查看: 1508|回复: 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成员函数,用来输出它们的基本信息。

下面是完整的代码实现:

  1. #include <iostream>
  2. using namespace std;

  3. class animal {
  4. protected:
  5.     int age;
  6. public:
  7.     animal(int a): age(a) {}
  8.     virtual void display() {
  9.         cout << "animal,age:" << age << endl;
  10.     }
  11. };

  12. class cat: public animal {
  13. public:
  14.     cat(int a): animal(a) {}
  15.     void display() {
  16.         cout << "cat,age:" << age << endl;
  17.     }
  18. };

  19. class dog: public animal {
  20. public:
  21.     dog(int a): animal(a) {}
  22.     void display() {
  23.         cout << "dog,age:" << age << endl;
  24.     }
  25. };

  26. int main() {
  27.     int x, y, z;
  28.     cin >> x >> y >> z;
  29.     animal a(x);
  30.     cat c(y);
  31.     dog d(z);
  32.     a.display();
  33.     c.display();
  34.     d.display();
  35.     return 0;
  36. }
复制代码


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

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

在主函数中,我们首先输入三个整数,分别表示动物、猫、狗的年龄。然后,我们分别创建一个animal、cat和dog对象,并且分别调用它们的display函数,输出它们的基本信息。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

下面是完整的代码实现:

  1. #include <iostream>
  2. using namespace std;

  3. class animal {
  4. protected:
  5.     int age;
  6. public:
  7.     animal(int a): age(a) {}
  8.     virtual void display() {
  9.         cout << "animal,age:" << age << endl;
  10.     }
  11. };

  12. class cat: public animal {
  13. public:
  14.     cat(int a): animal(a) {}
  15.     void display() {
  16.         cout << "cat,age:" << age << endl;
  17.     }
  18. };

  19. class dog: public animal {
  20. public:
  21.     dog(int a): animal(a) {}
  22.     void display() {
  23.         cout << "dog,age:" << age << endl;
  24.     }
  25. };

  26. int main() {
  27.     int x, y, z;
  28.     cin >> x >> y >> z;
  29.     animal a(x);
  30.     cat c(y);
  31.     dog d(z);
  32.     a.display();
  33.     c.display();
  34.     d.display();
  35.     return 0;
  36. }
复制代码


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

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

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

使用道具 举报

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

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

解决方案:

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

以下是实现上述需求的完整C++代码:
  1. #include <iostream>
  2. using namespace std;
  3. class animal {
  4. protected:
  5.     int age;
  6. public:
  7.     animal(int a) : age(a) {}
  8.     void display() {
  9.         cout << "animal,age:" << age << endl;
  10.     }
  11. };
  12. class cat : public animal {
  13. public:
  14.     cat(int a) : animal(a) {}
  15.    
  16.     void display() {
  17.         cout << "cat,age:" << age << endl;
  18.     }
  19. };
  20. class dog : public animal {
  21. public:
  22.     dog(int a) : animal(a) {}
  23.    
  24.     void display() {
  25.         cout << "dog,age:" << age << endl;
  26.     }
  27. };
  28. int main() {
  29.     int x, y, z;
  30.     cin >> x >> y >> z;
  31.    
  32.     animal a(x);
  33.     cat c(y);
  34.     dog d(z);
  35.    
  36.     a.display();
  37.     c.display();
  38.     d.display();
  39.    
  40.     return 0;
  41. }
复制代码

编译并运行上述代码,然后根据输入的年龄,输出相应的动物信息。

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

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

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

球一个最佳答案谢谢啦!这对我非常重要!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-22 04:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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