1) 任务1 - 新建文件“lab7_1.cpp”,编写程序声明一个基类Animal,成员变量age是私有的。构成其派生类dog,在其成员函数SetAge(int n)中直接对age赋值时,会出现类似以下错误提示: ``` In member function ‘void Dog::SetAge(int)’: error: ‘int Animal::age’ is private int age; ^ error: within this context void SetAge(int n) {age = n;} ^ ``` 把age改为公有成员变量后重新编译就可以了。
时间: 2024-02-12 14:06:12 浏览: 78
ftp_server_view.rar_dialogresize.cpp_ftp_重绘
你的问题是关于C++程序的,需要声明一个基类Animal和派生类dog,并在dog类的成员函数中出现了一个错误。这个错误是因为age成员变量在Animal类中被设置为私有的,无法在dog类的成员函数中直接访问。要解决这个问题,需要将age成员变量从私有变成公有。代码如下:
```cpp
class Animal{
public:
int age;
};
class Dog : public Animal{
public:
void SetAge(int n) {age = n;}
};
```
这样就可以在dog类的成员函数中直接设置age变量的值了。
阅读全文