面向对象程序设计教程(c++语言描述)第五章课后习题解题

第 5章习题答案
填空题
(1) 静态 动态
(2) 编译时的多态性,运行时的多态性。
(3) 静态 动态
(4) 覆盖
(5) 使用了不恰当的虚函数
(6) 静态
(7) 0
(8) 抽象类
选择题
(1) A (1) D (2) B D (3) B (4) A B
(5) B (6) C (7) C D (8) B D
判断题
(1) f (2) f (3) t (4) f (5) f (6) t
简答题
(1)
多态性就是同一符号或名字在不同情况下具有不同解释的现象, 即是指同一个函数的多种形 态。C++支持两种多态性,编译时的多态性和运行时的多态性。
多态性有两种表现形式:一种是不同的对象在收到相同的消息时, 产生不同的动作, 这主要 通过虚函数来实现; 另一种是同一对象收到相同的消息却产生不同的函数调用, 这主要通过
函数重载来实现。
(2)
重载函数只要求函数有相同的函数名, 并且重载函数是在相同作用域中定义的名字相同的不 同函数。而虚函数不仅要求函数名相同, 而且要求函数的签名、返回类型也相同。 也就是说 函数原型必须完全相同,而且虚函数特性必定是体现在基类和派生类的类层次结构中。 重载函数可以是成员函数或友员函数,而虚函数只能是非静态成员函数。
构造函数可以重载, 析构函数不能重载。 正好相反,构造函数不能定义为虚函数, 析构函数 能定义为虚函数。
重载函数的调用是以所传递参数序列的差别作为调用不同函数的依据而虚函数是根据对象 的不同去调用不同类的虚函数。
重载函数在编译时表现出多态性, 是静态联编; 而虚函数则在运行时表现出多态性是动态联 编,动态联编是 C++的精髓。
(3)
包含有纯虚函数的类称为抽象类。 抽象类用来描述一组子类的共同的操作接口, 它用作基类, 而接口的完成实现由派生类提供。 抽象类的派生类不一定要给出纯虚函数的实现。 如果没有 在派生类中
  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值