|  | 
 
| 
animal
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  题目描述
 编写动物类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
 
 
这道题目需要你定义一个动物类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函数,输出它们的基本信息。
 | 
 |