试题详情
- 简答题 下面的设计有什么问题?如何解决?
-
Square不能以public继承方式继承Rectangle类,否则,Rectangle的所有public成员函数就能被Square类的对象访问,特别地,当用set_width和set_height分别对Square类的对象进行操作时,就可能破坏Square类对象的长、宽相等的特性。
解决办法是:把Square定义成以protected或private方式从Rectangle继承。为了能对Square类的对象访问Rectangle中定义的area和print,可在Square类中加上对Rectangle类成员的访问控制调整声明:
关注下方微信公众号,在线模考后查看
热门试题
- 简述冯•诺依曼计算机的工作模
- 简述程序设计的步骤。
- 全局标识符与局部标识符在哪些方面存在不同
- 什么是软件?软件是如何分类的?
- 根据下图写一个函数:intpath(in
- 十进制数0.1的二进制表示是什么?
- 在C++中,三种继承方式各有什么作用?
- 枚举类型有什么好处?C++对枚举类型的操
- 下面的交换函数正确吗?
- 实现strlen、strcpy、strn
- 在C++中,protected类成员访问
- 写出下面程序的运行结果:
- 假设有三个重载的函数: 对下面的函数调
- 表达式中的类型转换规则是什么?下面的表达
- 操作符的优先级和结合性分别是指的什么?
- 把在链表中删除一个结点的操作写成一个函数
- 将下列公式表示成C++的表达式:
- 利用操作符重载给出一个完整的复数类的定义
- 写出下列条件的C++表达式 (1)i能
- 用循环实现错误!未找到引用源。中的辗转相