定义一个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-03 15:11:18 浏览: 101
以下是Animal类和Cat类的实现代码:
```c++
#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;
}
};
```
在上面的代码中,我们定义了一个Animal类,包括私有成员变量m_nWeightBase和保护成员变量m_nAgeBase以及公有成员函数set_weight、get_weight和set_age。然后我们再定义了一个Cat类,它公有继承自Animal类,并添加了一个私有成员变量m_strName和一个带参数的构造函数,用于初始化所有成员变量。此外,Cat类还提供了一个public成员函数print_age,用于输出成员变量m_strName和m_nAgeBase的值。
阅读全文