郑大远程面向对象程序设计试题 下载本文

正确 错误 2、算法就是一个按照一组定义明确的步骤来解决某个问题的处理过程。 正确 错误 3、向量(vector)、双队列(deque)、列表(list)都是顺序容器 正确 错误 4、堆栈(stack)、队列(queue)和多重映射(multimap)属于容器适配器 正确 错误 5、双向容器是指除了具有前向迭代器外,还具有逆向迭代器

《面向对象程序设计》第10章在线测试

第一题、单项选择题(每题1分,5道题共5分) 1、关于异常对象的说法正确的是( )

B、以传值方式传递异常对象时,抛出的是局部临时对象

C、以引用方式传递异常对象时,抛出的是局部静态对象

2、C++库中所有异常类的基类是( )

A、ios_base::failure C、dynamic_cast

A、异常对象需要先建立,再抛出

D、以指针方式传递异常对象时,抛出

的是全局临时对象

B、exception D、bad_cast

3、C++中异常处理的默认模式是( )

A、终止模式 C、挂起模式

B、恢复模式 D、暂停模式

4、关于重新抛出错误的说法是( )

A、重新抛出是指抛出原来的异常 C、只能在catch块中抛出

B、用throw语句再次抛出原来的异常 D、重新抛出时不能改变异常信号的值

5、为保证程序中的全局变量不与开发商提供的全局变量重名,可以采取的措施是( )

A、查阅手册,不起同样的名字

B、引入命名空间

C、避开不用

D、让开发商改名

第二题、多项选择题(每题2分,5道题共10分) 1、异常处理的优点是( )

A、提高程序可读性

B、程序的控制不会因产生异常而随意跳转 C、正常处理代码和异常处理代码隐式分离 D、与函数调用返回的控制方法一致

2、下面与异常处理相关的关键字有( )

A、Try B、Catch C、try D、catch

3、下面的说法正确的是()

A、引发异常用关键字throw

B、在被调用函数中检测到异常条件用throw都可以引发异常 C、被调用函数只有在try块中用throw才可以引发异常 D、检测到的异常由catch捕获并处理

4、try子句的作用是( )

A、代码的保护段

B、如果预料某段程序代码可能发生异常,就将该段代码放在try子句之后 C、try子句产生异常

D、try子句中的throw表达式产生异常

5、下面说法正确的是( )

A、函数声明void f(int i) throw ( int,char)说明函数f会引发int和char类型的异常

B、函数声明void f(int i) throw ( ) 不会引发任何类型的异常 C、函数声明void f(int i) throw ( )和void f(int i)是一样的 D、函数声明void f(int i)说明该函数不会引发异常 第三题、判断题(每题1分,5道题共5分) 1、异常如果没有要求程序立即进行处理,将会引起程序错误甚至崩溃的现象。 正确 错误 2、C++的异常处理机制就是捕捉异常进行异常处理。 正确 错误 3、抛出异常的模块并不负责异常的处理,该异常的处理可以程序中的任何位置。 正确 错误 4、C++引入了关键字throw和catch,用于进行异常处理。 正确 错误 5、异常信号传递方式有三种:传值方式、引用方式和指针方式。 正确 错误 面向对象程序设计》第08章在线测试 剩余时间: 34:00 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、面向对象方法的多态性是指( )。 A、一个类可以派生出多个特殊类 C、针对一消息,不同的对象可以以适合自身的方式加以响应 B、一个对象在不同的运行环境中可以有不同的变体 D、一个对象可以是由多个其他对象组合而成的 2、下列关于虚函数与函数重载区别的叙述中不正确的是( ) B、函数重载允许是非成员函数,虚函数只能是成员函数 A、函数说明形式上不同 C、函数重载的调用依据参数和类型的差别,虚函数则依据对象

D、函数重载的本体可以在类外定义,虚函数不可以

3、类 B 是类 A 的公有派生类,类 A 和类 B 中都定义了虚函数 func(),p 是一个指向类 A 对象的指针,则 p->A::func() 将 ( )

A、调用类 A 中的函数 func()

C、根据 p 所指的对象类型而确定调用类 A 中或类 B 中的函数 func()

B、调用类 B 中的函数 func()

D、既调用类 A 中函数,也调用类 B 中的函数

4、关于纯虚函数和抽象类的描述中,( )是错误的。

A、纯虚函数是一种特殊的虚函数,它没有具体的实现;

C、一个基类说明有纯虚函数,该基类的派生类一定不再是抽象类;

5、下面的说法正确的是( )

A、虚函数是成员函数

C、构造函数和析构函数都可以定义为虚函数

B、抽象类是指具有纯虚函数的类;

D、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。

B、虚函数可以是静态成员函数 D、虚函数可以是内联函数

第二题、多项选择题(每题2分,5道题共10分)

1、在派生类中重新定义虚函数时必须在 ( ) 方面与基类保持一致。

A、参数类型 B、参数个数 C、操作内容 D、返回值

2、下面说法正确的是( )

A、静态绑定在编写程序的时候完成 B、动态绑定在程序执行的时候完成 C、静态绑定在程序编译阶段完成 D、动态绑定是动态链接生成的

3、下面的说法正确的是( )

A、纯虚函数不需要定义