使用c++帮我写一个程序 定义一个类Animal表示动物,成员变量有名称和年龄,成员方法有构造方法和输出所有成员变量值output()的方法。 定义Animal的子类Fish表示鱼,成员变量有生长环境(江、河、湖、海)和游泳速度,成员方法有构造方法和output()输出所有成员变量。
时间: 2023-06-18 09:04:51 浏览: 91
下面是您需要的C++代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Animal {
protected:
string name;
int age;
public:
Animal(string n, int a) : name(n), age(a) {}
virtual void output() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
class Fish : public Animal {
private:
string environment;
double speed;
public:
Fish(string n, int a, string e, double s) : Animal(n, a), environment(e), speed(s) {}
void output() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Environment: " << environment << endl;
cout << "Speed: " << speed << endl;
}
};
int main() {
Animal* animal = new Animal("Animal", 5);
animal->output();
Fish* fish = new Fish("Fish", 2, "Sea", 20.5);
fish->output();
delete animal;
delete fish;
return 0;
}
```
在这个程序中,我们定义了一个Animal类来表示动物,并且定义了一个Fish类作为Animal的子类来表示鱼。在Animal类中,我们定义了成员变量name和age,并且定义了构造方法来初始化这些变量。我们还定义了一个输出所有成员变量的方法output(),并且在该方法中输出了name和age的值。
在Fish类中,我们继承了Animal类,并且添加了两个新的成员变量environment和speed来表示鱼的生长环境和游泳速度。我们同样定义了构造方法来初始化这些变量,并且重写了output()方法来输出所有成员变量的值,包括新加入的变量environment和speed。
最后在主函数中,我们分别创建了一个Animal对象和一个Fish对象,并且调用了它们的output()方法来输出所有成员变量的值。在程序结束时,我们使用delete运算符释放了这些对象的内存空间。