C++面向对象 - 继承与派生的应用

时间:2025-03-14 17:45:26

第1关:动物类继承

实验目的
学习声明和使用类的继承关系,声明派生类;
熟悉不同继承方式下对基类成员的访问控制。
实验任务
声明一个基类 Animal,有私有整型成员变量 age,构造其派生类 dog,在其成员函数 SetAge(int n)中直接给 age 赋值,看看会有什么问题,把 age 改为公有成员变量,再在 Dog 类用成员函数 ShowAge() 输出变量 age 的值。还会有问题吗?编程试试看。

实验步骤
编写程序声明基类 Animal,成员变量 age 声明为私有的。构造派生类Dog,在其成员函数 SetAge(int n) 中直接对 age 赋值时,会出现类似以下的错误提示:
error C2248: ‘age’ : cannot access private member declared in class ‘Animal’

把 age 改为公有成员变量后重新编译就可以正常编译了。

编程要求
根据提示,在右侧编辑器补充代码,并输出正确的值。

测试说明
平台会对你编写的代码进行测试:

测试输入:
1
预期输出:
1

测试输入:
3
预期输出:
3