收藏 分享(赏)

郑大远程面向对象程序设计试题.doc

上传人:dzzj200808 文档编号:2703193 上传时间:2018-09-25 格式:DOC 页数:27 大小:2.40MB
下载 相关 举报
郑大远程面向对象程序设计试题.doc_第1页
第1页 / 共27页
郑大远程面向对象程序设计试题.doc_第2页
第2页 / 共27页
郑大远程面向对象程序设计试题.doc_第3页
第3页 / 共27页
郑大远程面向对象程序设计试题.doc_第4页
第4页 / 共27页
郑大远程面向对象程序设计试题.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、面向对象程序设计第 12 章在线测试第一题、单项选择题(每题 1 分,5 道题共 5 分)1、面向对象软件开发中使用的 OOD 表示( )A、面向对象分析 B、面向对象设计C、面向对象语言 D、面向对象方法2、在面向对象方法中,对象执行它的操作是通过( )A、自动执行 B、接受消息请求C、由外部强制执行 D、外界直接访问其成员3、对象的两大要素是()A、数据和数据结构 B、名字和函数C、属性和操作 D、操作和方法4、关于对象模型的说法正确的事( )A、对象模型是类、对象、类或对象之间关系的定义集B、对象模型表示系统静态的数据性质C、对象模型表示类/对象之间的结构关系D、对象模型是客观对象的物理

2、模型5、面向对象分析的任务是( )A、需求分析 B、建立用例模型C、定义问题领域类 D、定义角色第二题、多项选择题(每题 2 分,5 道题共 10 分)1、下面那些是面向对象的特征?( )A、结构B、类C、重用D、继承2、下面哪些属于 UML 的图( )A、用例图B、类图C、结构图D、流程图3、关于封装的说法正确的是( )A、封装实现了信息隐藏B、封装使对象与外界隔绝C、封装使类不可见D、封装将对象的属性和操作结合在一起4、对象之间存在的关系包括( )A、部分与整体B、一般与特殊C、实例连接D、消息连接5、下面的说法正确的是( )A、软件就是程序,程序就是软件B、软件开发的过程就是程序设计的过

3、程C、软件是程序、支持程序运行的数据以及与程序有关的文档资料的集合。D、程序设计仅仅是软件开发过程的一个阶段。第三题、判断题(每题 1 分,5 道题共 5 分)1、面向对象设计过程一般仍分为结构设计和详细设计。正确 错误2、UML 是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。正确 错误3、UML 不是一种可视化的程序设计语言而是一种可视化的建模语言.正确 错误4、UML 用若干个视图构造系统的模型,每个视图描述系统的一个方面。正确 错误5、类的关联关系通常采用函数设计方式。正确 错误面向对象程序设计第 11 章在线测试第一题、单项选择题(每题 1 分,5 道题共 5 分)

4、1、STL 中算法访问容器的中介是( )A、容器 B、迭代器C、算法 D、数组2、允许程序员以相同的方式处理不同的数据结构的是( )A、容器 B、迭代器C、算法 D、数组3、列表 list 属于( )A、顺序容器 B、关联容器C、前向容器 D、双向容器4、映射(map)属于( )A、顺序容器 B、关联容器C、前向容器 D、双向容器5、多重映射(multimap)属于( )A、顺序容器 B、关联容器C、前向容器 D、双向容器第二题、多项选择题(每题 2 分,5 道题共 10 分)1、按照算法对容器的影响可以将算法分成( )A、可变序列算法B、非可变序列算法C、排序算法D、数值计算算法2、下面属于

5、容器的头文件是( )A、vectorB、listC、queneD、set3、下面的说法正确的是( )A、STL 中有 sort 函数,所以程序员不能定义名字叫 sort 的函数B、STL 中的 sort 函数在名字空间之外C、程序员可以在自定义的名字空间内定义 sort 函数D、使用 STL 的 sort 函数可以在源程序的开头加入 using namespace std4、下面属于顺序容器的是( )A、向量B、双队列C、堆栈D、列表5、如果 char str“China!Great Wall”,生成 string 类型 s 并且 s 的字符串内容也是“China!Great Wall”的语句

6、是( )A、string s(str);B、string s(str,1);C、string s(str, 1,11);D、string sstr;第三题、判断题(每题 1 分,5 道题共 5 分)1、迭代器是算法访问容器的中介。正确 错误2、算法就是一个按照一组定义明确的步骤来解决某个问题的处理过程。正确 错误3、向量(vector)、双队列(deque)、列表(list)都是顺序容器正确 错误4、堆栈(stack)、队列(queue)和多重映射(multimap)属于容器适配器正确 错误5、双向容器是指除了具有前向迭代器外,还具有逆向迭代器面向对象程序设计第 10 章在线测试第一题、单项选

7、择题(每题 1 分,5 道题共 5 分)1、关于异常对象的说法正确的是( )A、异常对象需要先建立,再抛出 B、以传值方式传递异常对象时,抛出的是局部临时对象C、以引用方式传递异常对象时,抛出的是局部静态对象D、以指针方式传递异常对象时,抛出的是全局临时对象2、C+库中所有异常类的基类是( )A、iosbase:failure B、exceptionC、dynamiccast D、badcast3、C+中异常处理的默认模式是( )A、终止模式 B、恢复模式C、挂起模式 D、暂停模式4、关于重新抛出错误的说法是( )A、重新抛出是指抛出原来的异常 B、用 throw 语句再次抛出原来的异常C、只

8、能在 catch 块中抛出 D、重新抛出时不能改变异常信号的值5、为保证程序中的全局变量不与开发商提供的全局变量重名,可以采取的措施是( )A、查阅手册,不起同样的名字 B、引入命名空间C、避开不用 D、让开发商改名第二题、多项选择题(每题 2 分,5 道题共 10 分)1、异常处理的优点是( )A、提高程序可读性B、程序的控制不会因产生异常而随意跳转C、正常处理代码和异常处理代码隐式分离D、与函数调用返回的控制方法一致2、下面与异常处理相关的关键字有( )A、TryB、CatchC、tryD、catch3、下面的说法正确的是()A、引发异常用关键字 throwB、在被调用函数中检测到异常条件

9、用 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

10、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

11、答题须知:1、本卷满分 20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题 1 分,5 道题共 5 分)1、面向对象方法的多态性是指( )。A、一个类可以派生出多个特殊类 B、一个对象在不同的运行环境中可以有不同的变体C、针对一消息,不同的对象可以以适合自身的方式加以响应D、一个对象可以是由多个其他对象组合而成的2、下列关于虚函数与函数重载区别的叙述中不正确的是( )A、函数说明形式上不同 B、函数重载允许是非成员函数,虚函数只能是成员函数C、函数重载的调用依据参数和类型的

12、差别,虚函数则依据对象D、函数重载的本体可以在类外定义,虚函数不可以3、类 B 是类 A 的公有派生类,类 A 和类 B 中都定义了虚函数 func(),p 是一个指向类 A 对象的指针,则 p-A:func() 将 ( )A、调用类 A 中的函数 func() B、调用类 B 中的函数 func()C、根据 p 所指的对象类型而确定调用类 A 中或类 B 中的函数 func()D、既调用类 A 中函数,也调用类 B 中的函数4、关于纯虚函数和抽象类的描述中,( )是错误的。A、纯虚函数是一种特殊的虚函数,它没有具体的实现;B、抽象类是指具有纯虚函数的类;C、一个基类说明有纯虚函数,该基类的派

13、生类一定不再是抽象类;D、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。5、下面的说法正确的是( )A、虚函数是成员函数 B、虚函数可以是静态成员函数C、构造函数和析构函数都可以定义为虚函数 D、虚函数可以是内联函数第二题、多项选择题(每题 2 分,5 道题共 10 分)1、在派生类中重新定义虚函数时必须在 ( ) 方面与基类保持一致。A、参数类型B、参数个数C、操作内容D、返回值2、下面说法正确的是( )A、静态绑定在编写程序的时候完成B、动态绑定在程序执行的时候完成C、静态绑定在程序编译阶段完成D、动态绑定是动态链接生成的3、下面的说法正确的是( )A、纯虚函数不需要定义B、纯虚

14、函数在派生类中实现C、纯虚函数在基类中定义为 0D、纯虚函数是不具体实现的虚函数4、下面的说法正确的是( )A、抽象类只能做基类B、抽象类是继承层次中的根C、抽象类用 abstract 定义D、抽象类中至少有一个虚函数5、关于抽象类的说法正确的是( )A、抽象类可以生成类对象B、抽象类不能用作参数类型、函数返回类型或显式转换的类型C、不能定义抽象类指针和引用D、抽象类只能作为其他类的基类第三题、判断题(每题 1 分,5 道题共 5 分)1、虚函数是用 virtual 关键字说明的成员函数。正确 错误2、构造函数说明为纯虚函数是没有意义的。正确 错误3、纯虚函数是一种特殊的虚函数,它没有具体的实

15、现正确 错误4、一个基类说明有纯虚函数,该基类的派生类一定不再是抽象类;正确 错误5、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。正确 错误面向对象程序设计第 09 章在线测试 剩余时间: 40:09答题须知:1、本卷满分 20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题 1 分,5 道题共 5 分)1、cout 是 I0 流库预定义的:A、类 B、对象C、包含文件 D、常量2、在进行完任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能

16、用于检测输入流状态的操作函数名称是( )A、fail B、eofC、bad D、good3、在 C+程序中使用的 cin 标识符是系统类库中定义的( )类中的一个对象。A、istream B、ostreamC、iostream D、fstream4、在 C+程序中使用的 cout 标识符是系统类库中定义的( )类中的一个对象。A、istream B、ostreamC、iostream D、fstream5、seekg(-40,ios:cur)的意思是(A)A、读写位置从当前位置前移 40 个字节 B、读写位置从当前位置后移 40 个字节C、读写位置从当前位置上移 40 个字节 D、读写位置从当

17、前位置下移 40 个字节第二题、多项选择题(每题 2 分,5 道题共 10 分)1、下面的说法正确的是( )A、缓冲流就是缓冲区B、缓冲流当缓冲区满时才刷新流的数据C、非缓冲流不处理数据D、非缓冲流也要使用缓冲区2、下面提供输入操作的类是( )A、iosB、istreamC、iostreamD、ostream3、下面属于标准错误输出的流是( )A、cinB、coutC、clogD、cerr4、关于运算符“”的说法正确的是( )A、“”如果用于 cout 后,则表示输出操作B、“”也叫做插入运算符C、“”运算符可以重载D、“”是从流中提取一个字符序列5、 下面的说法正确的是(AC)A、cerr

18、是标准错误输出流B、cerr 和 cout 一样是可以缓冲的C、cerr 不能重定向D、cout 也不能重定向第三题、判断题(每题 1 分,5 道题共 5 分)1、系统在主存中开辟的、用来临时存放输入输出数据的区域,叫做输入输出缓冲区(简称缓冲区)。正确 错误2、二进制文件的写操作用成员函数 write()正确 错误3、hex、oct、dec 只对下一个输出有效正确 错误4、ostrstream 是向字符数组的输出流,istrstream 是从字符数组的输入流正确 错误5、ofstream 是用于读文件的文件流正确 错误面向对象程序设计第 07 章在线测试 剩余时间: 40:23答题须知:1、

19、本卷满分 20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题 1 分,5 道题共 5 分)1、下面叙述不正确 的是 ( )A、派生类都用公有派生产生 B、对基类成员的访问必须是无二义性的C、赋值兼容规则也适用于多重继承的组合 D、基类的公有成员在派生类中仍然是公有的2、若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的 ( )A、私有成员 B、公有成员C、保护成员 D、保护成员或私有成员3、对基类和派生类的关系描述中, 错误 的是 ( )A、派生类

20、是基类的具体化 B、基类继承了派生类的属性C、派生类是基类定义的延续 D、派生类是基类的特殊化4、假设 ClassY:publicX,则说明一个 Y 类的对象时和删除 Y 类对象时,调用构造函数和析构函数的次序分别为( )A、X,Y; Y,X B、X,Y; X,YC、Y,X; X,Y D、Y,X; Y,X5、派生类的成员函数可以直接访问基类的( )成员。A、所有 B、公有和保护C、保护和私有 D、私有第二题、多项选择题(每题 2 分,5 道题共 10 分)1、对于公有继承,基类中的私有成员在派生类中将 ( )。A、不能够直接使用成员名访问B、能够通过成员运算符访问C、仍然是基类的私有成员D、变

21、为派生类的私有成员2、下列对派生类的描述中正确的说法是:( )。A、派生类至少有一个基类B、派生类可作为另一个派生类的基类C、派生类除了包含它直接定义的成员外,还包含其基类的成员D、派生类所继承的基类成员的访问权限保持不变3、派生类的对象对其基类中( )不可以直接访问。A、公有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、私有继承的公有成员4、含有虚基类的派生类的构造函数调用次序错误的是( )A、虚基类,基类,派生类, 对象成员B、基类,派生类,对象成员,虚基类C、对象成员,基类,虚基类,派生类D、基类,虚基类,对象成员,派生类5、已知有下面的类定义: class A ; cl

22、ass B ; class C:public B, virtual public A; C c;撤销 c 的时候,析构函数调用顺序错误的是( )A、ABCB、CBAC、BACD、CAB第三题、判断题(每题 1 分,5 道题共 5 分)1、基类的保护成员在派生类中仍然是保护成员。正确 错误2、基类的保护成员在私有派生类中是私有成员。正确 错误3、私有继承时基类中的 public 成员在派生类中是 private 的。正确 错误4、在公有继承中,基类中只有公有成员对派生类是可见的。正确 错误5、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。正确 错误面向对象程序设计

23、第 06 章在线测试 剩余时间: 30:16答题须知:1、本卷满分 20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题 1 分,5 道题共 5 分)1、设有函数模板 templateclass Q Q Sum(Q x, Q y) return(x)+(y); 则下列语句中对该函数模板错误的使用是 ( )A、Sum(10,2); B、Sum(5.0,6.7) ;C、Sum(15.2f, 16.0f); D、Sum( AB , CD );2、以下关于函数模板叙述正确的是( )。

24、A、函数模板也是一个具体类型的函数 B、函数模板的类型参数与函数的参数是同一个概念C、通过使用不同的类型参数,函数模板可以生成不同类型的函数D、用函数模板定义的函数没有类型3、下面函数模板定义中不正确的是( )A、templateclass Q B、templateclass Q Q F(Q x) return Q+x; return x+x; C、templateclass T D、templateclass T T F(T x)return x*x; return x1; 4、模板参数在函数参数表中出现的次数不可能是( )。A、1 B、2C、0 D、任意5、下面函数模板的声明正确的是( )

25、A、template void fun(int x) B、template class T void fun(int x)C、template class T void fun(T x) D、template class T void fun(class T x)第二题、多项选择题(每题 2 分,5 道题共 10 分)1、函数模板参数的说法正确的是( )A、模板类型参数前只能用 class 关键字B、模板非类型参数前不需要说明类型C、每一个函数模板参数在函数参数表中都必须出现D、模板类型参数名可以用来制定函数模板的返回类型2、模板函数与函数模板的区别是( )A、模板函数是函数模板的抽象B、函数

26、模板是模板函数的抽象C、模板函数是函数模板的重载函数D、函数模板是具体的函数3、关于类模板的说法正确的是( )A、类模板是类的抽象B、类模板是模板类的抽象C、类模板中用到通用类型参数D、类模板和普通类一样可以用于定义对象4、关于模板之间的关系说法错误的是( )A、C+中有函数模板和类模板B、函数模板是模板函数的实例化C、类模板是模板类的实例化D、对象是类模板的实例化5、关于函数模板的实例化正确的说法是( )A、模板函数在实例化之前要先声明B、模板类型可以进行隐式的类型转化C、模板函数是函数模板的特例D、函数模板实例化生成的函数模板是重载函数第三题、判断题(每题 1 分,5 道题共 5 分)1、

27、函数模板中的每一个类型参数在函数参数表中必须至少使用一次。正确 错误2、类模板中不能带有静态成员。正确 错误3、类模板中可以使用无类型参数,所谓无类型参数就是值没有参数。正确 错误4、模板参数名在同一模板参数表中只能使用一次,但可在多个函数模板声明或定义之间重复使用。正确 错误5、模板参数在函数参数表中出现的次数没有限制。正确 错误面向对象程序设计第 05 章在线测试 剩余时间: 5:02答题须知:1、本卷满分 20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题 1 分,5

28、 道题共 5 分)1、如果表达式 ab 中的“”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。A、a.operator(b) B、b.operator(a)C、operator(a,b) D、operator(b,a)2、如果表达式 a+中的“+”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。A、a.operator+() B、operator+(a)C、operator+(a,1) D、operator+(1,a)3、双目运算符的调用格式是( )A、双目运算符 左运算对象 右运算对象 B、双目运算符 右运算对象 左运算对象C、左运算对象 双

29、目运算符 右运算对象 D、右运算对象 双目运算符 左运算对象4、一个程序中数组 a 和变量 k 定义为“int a510,k;”,且程序中包含有语句“a(2,5)+k*3;”,则此语句中肯定属于重载操作符的是( )。A、( ) B、C、+ D、*5、下面是重载单目运算符-的成员函数原形,其中最符合-原来含义的是( )。A、Value Value:operator-(Value); B、Value Value:operator-(int);C、Value D、Value第二题、多项选择题(每题 2 分,5 道题共 10 分)1、关于运算符重载,下列说法错误的是( )。A、所有的运算符都可以重载。

30、B、通过重载,可以使运算符应用于自定义的数据类型。C、通过重载,可以创造原来没有的运算符。D、通过重载,可以改变运算符的优先级。2、下面不是运算符 new 重载的正确格式的是( )A、void *类名:operator new(sizet size, int x, int y);B、int *类名:operator new(sizet size, int x, int y);C、void *类名:operator new(sizet size);D、void *类名:operator new(int x, int y,sizet size);3、重载 delete 运算符的格式错误的是( )A

31、、void * operator delete(void*);B、void * operator delete(void*,参数表);C、void * operator delete(参数表);D、void * operator delete();4、下面关于逗号运算符的说法正确的是( )A、逗号运算符是多目运算符B、逗号运算符的表达式为“左运算数,右运算数”,返回值为右运算数的值。C、逗号运算符可以重载为成员函数,形参只带右运算数。D、逗号运算符的返回值为左运算数的值。5、下面重载类型转换运算符的语句正确的是( )A、class X X operator (int);B、class X op

32、erator(X, int);C、class X operator Z( );D、class X operator Y( );第三题、判断题(每题 1 分,5 道题共 5 分)1、多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。正确 错误2、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数。正确 错误3、重载运算符保持原运算符的优先级和结合性不变。正确 错误4、重载比较运算符函数的返回值必须是 bool 类型。正确 错误5、重载运算符没有实际意义,因为系统会为每一个类自动生成赋值运算符。正确 错误面向对象程序设计第 03 章在线测试 剩余时间: 3

33、6:03答题须知:1、本卷满分 20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题 1 分,5 道题共 5 分)1、假定 AB 为一个类,则执行 “AB r1r2;”语句时将自动调用该类的( )。A、无参构造函数 B、带参构造函数C、赋值重载函数 D、拷贝构造函数2、当一个类对象结束它的生存期的时侯,系统自动调用该类的( )。A、无参构造函数 B、带参构造函数C、拷贝构造函数 D、析构函数3、类的构造函数被自动调用执行的情况是在定义该类的 ( )A、成员函数时 B、数据成员

34、时C、对象时 D、友元函数时4、假定 AB 为一个类,则执行“AB *pnew AB(1,2);”语句时共调用该类构造函数的次数为( )。A、0 B、1C、2 D、35、假定 AA 是一个类,abc 是该类的一个成员函数,则参数表中隐含的第一个参数为( )。A、abc B、*thisC、this D、this public: setn(int nl) nnl; A(int x) n x; int f() A * ptr new A(45);. A、A.n34; B、ptr.setn(34);C、ptr-setn(34); D、setn(34);4、假定 AB 为一个类,则执行 “AB a(2)

35、, b3, *p4;”语句时共调用该类构造函数的次数为( )。A、3 B、4C、5 D、95、假定 AB 为一个类,则执行“AB *pnew AB(1,2);”语句时共调用该类构造函数的次数为( )。A、0 B、1C、2 D、3第二题、多项选择题(每题 2 分,5 道题共 10 分)1、下面有关类说法正确的是(A,B,D )A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员2、关于封装,下列说法中正确的是( )。A、通过封装,对象的全部属性和操作结合在一起,形成一个整体B、通过封装,一个对象的实现细节被尽可能地隐藏起来(不可

36、见)C、通过封装,每个对象都成为相对独立的实体D、通过封装,对象的属性都是不可见的3、假定 AA 为一个类,a 为该类私有的数据成员,GetValue()为该类公有函数成员,它返回 a 的值,x 为该类的一个对象,则访问 x 对象中数据成员 a 的语句错误的是()。A、x.aB、x.a()C、x-GetValue()D、x.GetValue()4、构造函数的初始化表一般用来()A、初始化常量数据成员B、初始化子对象C、初始化引用成员D、初始化静态数据成员5、下面关于静态数据成员的说法错误的是(BCD)A、静态数据成员是类的所有对象所共有的B、静态数据成员要在构造函数内初始化C、类的每个对象有自

37、己的静态数据成员D、静态数据成员不能通过类的对象调用第三题、判断题(每题 1 分,5 道题共 5 分)1、 C允许使用友元,但是友元会破坏封装性。正确 错误2、 所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的。正确 错误3、 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。正确 错误4、 如果类 A 的声明中将类 B 的对象作为数据成员,则称类 A 和类 B 之间是一种 has-a 关系,类 B 是类 A 的子对象。正确 错误5、 静态数据成员不从属于任何一个具体对象,所以必须在构造函数对它初始化。正确 错误面向对象程序设计第 01

38、 章在线测试 剩余时间: 37:39答题须知:1、本卷满分 20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题 1 分,5 道题共 5 分)1、下面不属于 C+语言的特点的是A、C+支持数据封装 B、C+支持继承性C、C+支持动态绑定 D、C+不允许破环封装2、执行完下列语句后,a、b、c 三个变量的值为多少?( ) a 30; b a+; c +a;A、a:32 ; b:30 ; c:32; B、a:30 ; b:31 ; c:32;C、a:32 ; b:31 ; c:3

39、0; D、a:31 ; b:32 ; c:30;3、VC 项目中可以添加的文件类型不可以是A、.CPP B、.CC、.H D、.LIB4、do-while 语句的循环体至少执行A、1 次 B、0 次C、无限次 D、不一定5、如果程序中有全局变量 X 和局部变量 X,则在局部变量 X 的作用域内访问全局变量的方法是A、不能访问 B、XC、:X D、X第二题、多项选择题(每题 2 分,5 道题共 10 分)1、C+的输入可以使用A、scanfB、printfC、cinD、in2、以下语句循环次数为无限次的是A、for ( y0,x1;x+y;xI+) Ix;B、for(;x+I);C、while(

40、1)x+;D、for(I10;I-)sum+I;3、内联函数正确的是A、内联函数用 inline 关键字说明B、内联函数调用时用具体的函数体代码替换函数调用C、内联函数与预定义语句相同D、在一个文件中定义的内联函数不可以在另一个文件中使用4、关于重载函数正确的说法是A、函数重载指在同一作用域内多个函数使用相同的函数名B、重载函数的参数必须不同C、重载函数的返回值类型必须不同D、两个功能相似的操作可以重载函数得到5、C+程序中声明变量 int *p1 , *p2 ,m5, n;下面错误的语句是A、p1 p2B、p1 p2*p1*p2C、p1p2p1;D、p1*p2*p1;第三题、判断题(每题 1

41、 分,5 道题共 5 分)1、内联函数体内可以使用 C+的所有控制语句。正确 错误2、对内联函数不能进行异常接口声明。正确 错误3、重载的函数的函数名是相同的,但它们的参数的个数、参数数据类型或返回值类型中至少应有一种是不同的。正确 错误4、定义引用变量的时候必须对其进行初始化。正确 错误5、数组 int array10中共有 10 个整型元素,其下标值从 1 到 10。正确 错误面向对象程序设计第 04 章在线测试 剩余时间: 45:33答题须知:1、本卷满分 20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结

42、果将会被清空。 第一题、单项选择题(每题 1 分,5 道题共 5 分)1、若 B 类为 A 类的友元类,则下面的说法正确的是( )A、B 类的所有成员函数都是 A 类的友元函数 B、B 类指定的成员函数才是 A 类的友元C、A 类的所有成员函数可以访问 B 类的成员 D、B 类的私有成员函数不能可以访问 A 类的私有成员2、一个类的友元不是该类的成员,与该类的关系密切,所以它( )。A、有 this 指针,有默认操作的对象 B、没有 this 指针,可以有默认操作的对象C、有 this 指针,不能执行默认操作 D、没有 this 指针,也就没有默认操作的对象3、关于友元的说法正确的是( )A、

43、友元关系可以继承 B、友元关系是双向的C、友元关系不可以传递 D、友元关系可以取消4、关于友元类的定义正确的说法是( )A、如果在类 B 中定义友元类 A ,必须先定义类 A B、如果在类 B 中定义友元类 A ,必须先定义类 BC、如果在类 B 中定义友元类 A ,可以定义类 B,后定义类 A,但是必须在类 B 的定义之前,对类 A 向前引用说明D、类 A 是类 B 的友元,类 A 和类 B 的定义顺序没有先后之分5、一个类的友元函数或友元类能够通过成员操作符访问该类的( )A、私有成员 B、保护成员C、公有成员 D、所有成员第二题、多项选择题(每题 2 分,5 道题共 10 分)1、一个类

44、的友元不是该类的成员,与该类的关系密切,所以下面它的说法错误的是( )。A、有 this 指针,有默认操作的对象B、没有 this 指针,可以有默认操作的对象C、有 this 指针,不能执行默认操作D、没有 this 指针,也就没有默认操作的对象2、下面关于友元的说法正确的是( )A、友元函数是拥有成员函数一切权利B、友元是一种成员函数C、友元可以直接访问类的所有成员D、友元不能访问类的私有成员3、下面关于友元函数正确的说法是( )A、在类中用关键词 friend 声明友元函数B、友元函数说明的位置只能在类的 public 区C、友元函数的定义只能放在类的外部D、友元函数不是类的成员函数4、如

45、果类 a 被说明成类 b 的友元,则下面的说法错误的是 ( ) 。A、类 a 的成员即类 b 的成员B、类 b 的成员即类 a 的成员C、类 a 的成员函数不得访问类 b 的成员D、类 b 不一定是类 a 的友元5、下面关于友元函数使用特点的说明正确的是( )A、友元函数可以绕开成员函数直接访问类的私有和保护成员,避免调用成员函数相关的开销B、友元函数虽然不是类的成员函数,但是因为友元函数是在类内说明的,所以也带有用 this 指针C、友元函数可以以使用类内的所有成员,因此破坏了数据的安全性D、友元函数的形参如果是类对象,可以用对象名,对象的引用或者对象指针第三题、判断题(每题 1 分,5 道题共 5 分)1、友元函数说明的位置只能在类的 public 区。正确 错误2、友元函数的定义只能放在类的外部,与类的成员函数放在一起。正确 错误3、如果函数 f()要操作类 A 和类 B 的私有成员,可以把 f()声明为类 A 的成员函数,把类 A 声明为类 B 的友元类。正确 错误4、友元具有传递性,单向性和继承性的特点。正确 错误5、一个函数可以是多个类的友元函数。正确 错误

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报