A、函数重载 B、类模板 C、函数模板 D、派生类
3、下面的说法正确的是( )
A、虚函数在派生类中可能有不同实现 B、C++对虚函数的调用采取了动态绑定方式
C、动态绑定只能通过指针或引用表示对象来调用虚函数 D、动态绑定的处理方式不能实现静态类型检查
4、调用虚函数实现多态的步骤是( )
A、将基类对象地址或派生类对象地址赋给基类指针 B、定义基类指针
C、用派生类对象或基类对象调用虚函数 D、用基类指针调用虚函数
5、下面的说法正确的是( )
A、抽象类只能做基类 B、抽象类是继承层次中的根 C、抽象类用abstract定义 D、抽象类中至少有一个虚函数
第三题、判断题(每题1分,5道题共5分)
1、函数绑定是指函数的入口地址同函数调用相联系的过程。
正确
错误
2、抽象类是指一些没有说明对象的类。
正确
错误
3、动态联编是在运行时选定调用的成员函数的。
正确 错误 4、抽象类是指具有纯虚函数的类; 正确 错误 5、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。 正确 错误
《面向对象程序设计》第10章在线测试
剩余时间: 59:55
第一题、单项选择题(每题1分,5道题共5分) 1、下面哪些情况不会造成异常( )
A、内存耗尽 C、除数为0
B、再次打开文件 D、数组越界访问
2、关于异常的处理过程,正确的说法是( )
A、在可能会出现错误的地方,用catch捕捉 C、catch块可以捕捉所有异常
B、在可能会出现错误的地方,用throw抛出异常 D、只有与catch()参数匹配的异常才可以捕捉
3、如果异常没有列入异常规范,在C++中将( )
A、忽略它
C、系统调用unexpected()终止程序
B、程序中止 D、询问用户
4、关于catch(。。。)的说法错误的是( )
A、catch(。。。)可以捕捉所有类型的异常 C、catch(。。。)可以避免出现没有被捕捉的异常
B、catch(。。。)必须放在所有catch块的后面 D、catch(。。。)不能单独使用
5、C++中异常处理的默认模式是( )
A、终止模式 C、挂起模式
B、恢复模式 D、暂停模式
第二题、多项选择题(每题2分,5道题共10分) 1、下面的说法正确的是( )
A、异常处理是指允许C++程序非正常结束
B、异常处理是指C++程序在出错的情况下有正确合理的表现 C、C++程序绝对不能出现错误
D、异常处理使C++程序在出现错误的情况下仍能继续运行
2、处理程序中可预料的错误的方法有( )
A、根据函数返回值进行判断处理 B、出现错误转向专门的错误处理程序
C、异常处理 D、没有办法
3、异常处理的优点是( )
A、提高程序可读性
B、程序的控制不会因产生异常而随意跳转 C、正常处理代码和异常处理代码隐式分离 D、与函数调用返回的控制方法一致
4、关于异常处理的说法正确的是()
A、将异常的检测与处理分离 B、异常就是错误 C、异常由函数调用引起
D、在上层调用函数中使用try检测函数调用是否引发异常
5、下面与异常处理相关的关键字有( )
A、Try B、Catch C、try D、catch
第三题、判断题(每题1分,5道题共5分)
1、抛出异常的模块只是报告某个地方存在错误,这个报告可以帮助异常处理器解决这个错误。
正确
错误
2、异常处理器根据抛出异常模块的报告来处理异常。
正确
错误
3、C++引入了关键字throw和catch,用于进行异常处理。
正确
错误
4、异常信号传递方式有三种:传值方式、引用方式和指针方式。
正确 错误 5、throw( )表示函数不会抛出任何类型的异常 正确 错误