定义一个基类Animal,有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值。在主函数中给age赋值后将其输出。编程定义Animal类和派生类dog。
时间: 2024-04-30 12:22:36 浏览: 59
代码如下:
```c++
#include<iostream>
using namespace std;
class Animal{
protected:
int age;
public:
Animal(int age=0):age(age){}
};
class Dog:public Animal{
public:
Dog(int age=0):Animal(age){}
void SetAge(int n){age=n;}
};
int main(){
Dog dog(3);
dog.SetAge(5);
cout<<"Age of the dog is "<<dog.age<<endl;
return 0;
}
```
输出结果为:
```
Age of the dog is 5
```
相关问题
定义一个基类Animal,有私有整型成员age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值
在面向对象编程中,我们可以定义一个基类来描述一类事物的共同特性,如"Animal"类。假设我们有一个名为`Animal`的基类,它有一个私有的整数变量`age`表示动物的年龄:
```cpp
class Animal {
private:
int age;
public:
// 构造函数
Animal(int initialAge) : age(initialAge) {}
// 设置年龄的成员函数
void SetAge(int n) {
age = n;
}
// 其他可能的方法...
};
```
然后我们可以创建一个派生类`Dog`,它是`Animal`的子类,可以进一步增加特定于狗的行为或属性:
```cpp
class Dog : public Animal {
public:
// 可能会添加狗特有的行为或设置方法...
// 如果需要,可以覆盖或重写SetAge方法
// 这里示例是直接使用基类的方法,但也可以提供自己的实现
void SetAge(int n) override {
Animal::SetAge(n); // 调用基类的SetAge方法
}
};
```
在这个例子中,`Dog`类可以直接使用`SetAge`方法来自定义或保持对年龄的基本管理,同时继承了基类的共同行为。
1)声明一个基类Animal,有公有整型成员变量age,构造其派生类dog,在其成员函数SetAge(intn)中直接给age赋值
在面向对象编程中,你可以通过以下步骤来声明一个基类`Animal`并创建一个派生类`Dog`,并在`Dog`类中添加一个公共整型成员变量`age`以及一个用于设置年龄的成员函数`SetAge()`:
首先,定义基类`Animal`:
```cpp
class Animal {
public:
int age; // 公共整型成员变量
// 构造函数
Animal() : age(0) {} // 默认初始化age为0
// 设置年龄的成员函数
void SetAge(int n) {
age = n;
}
};
```
然后,创建派生类`Dog`,继承自`Animal`:
```cpp
class Dog : public Animal {
public:
// 如果需要的话,可以覆盖或添加额外的成员函数
};
```
在`Dog`类中可以直接调用`SetAge()`方法来给`age`赋值,就像在`Animal`类中一样:
```cpp
int main() {
Dog myDog; // 创建Dog类的对象
myDog.SetAge(5); // 调用SetAge方法给age赋值为5
return 0;
}
```
阅读全文