R6-1 派生类使用基类的成员函数 分数 10 全屏浏览题目 作者 李廷元 单位 中国民用航空飞行学院 按要求完成下面的程序: 1、定义一个Animal类,成员包括: (1)整数类型的私有数据成员m_nWeightBase,表示Animal的体重; (2)整数类型的保护数据成员m_nAgeBase,表示Animal的年龄; (3)公有函数成员set_weight,用指定形参初始化数据成员nWeightBase; (4)公有成员函数get_weight,返回数据成员nWeightBase的值; (5)公有函数成员set_age,用指定形参初始化数据成员m_nAgeBase; 2、定义一个Cat类,公有继承自Animal类,其成员包括: (1)string类型的私有数据成员m_strName; (2)带参数的构造函数,用指定形参对私有数据成员进行初始化; (3)公有的成员函数print_age,功能是首先输出成员m_strName的值,然后输出“, age = ”,接着输出基类的数据成员m_nAgeBase的值。具体输出格式参见main函数和样例输出。
时间: 2024-02-24 08:55:05 浏览: 240
下面是符合要求的程序代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Animal {
private:
int m_nWeightBase;
protected:
int m_nAgeBase;
public:
void set_weight(int weight) {
m_nWeightBase = weight;
}
int get_weight() {
return m_nWeightBase;
}
void set_age(int age) {
m_nAgeBase = age;
}
};
class Cat : public Animal {
private:
string m_strName;
public:
Cat(string name, int weight, int age) {
m_strName = name;
set_weight(weight);
set_age(age);
}
void print_age() {
cout << m_strName << ", age = " << m_nAgeBase << endl;
}
};
int main() {
Cat cat("Tom", 5, 3);
cat.print_age();
return 0;
}
```
程序运行后输出:
```
Tom, age = 3
```
阅读全文