《2022年郑大远程面向对象程序设计试题 .pdf》由会员分享,可在线阅读,更多相关《2022年郑大远程面向对象程序设计试题 .pdf(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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、对象模型是客观对象的物理模型5、面向对象
2、分析的任务是( )A、需求分析B、建立用例模型C、定义问题领域类D、定义角色第二题、多项选择题(每题2 分, 5 道题共 10 分)1、下面那些是面向对象的特征?()A、结构B、类C、重用D、继承2、下面哪些属于UML的图 ( ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 27 页 - - - - - - - - - A、用例图B、类图C、结构图D、流程图3、关于封装的说法正确的是()A、封装实现了信息隐藏B、封装使对象与外界隔绝C、封装使类不可见D、封装将对象的属
3、性和操作结合在一起4、对象之间存在的关系包括()A、部分与整体B、一般与特殊C、实例连接D、消息连接5、下面的说法正确的是()A、软件就是程序,程序就是软件B、软件开发的过程就是程序设计的过程C、软件是程序、支持程序运行的数据以及与程序有关的文档资料的集合。D、程序设计仅仅是软件开发过程的一个阶段。第三题、判断题(每题1 分, 5 道题共 5 分)1、面向对象设计过程一般仍分为结构设计和详细设计。正确错误2、UML 是一种标准的图形化建模语言, 它是面向对象分析与设计的一种标准表示。正确错误3、UML不是一种可视化的程序设计语言而是一种可视化的建模语言. 名师资料总结 - - -精品资料欢迎下
4、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 27 页 - - - - - - - - - 正确错误4、UML用若干个视图构造系统的模型,每个视图描述系统的一个方面。正确错误5、类的关联关系通常采用函数设计方式。正确错误面向对象程序设计第11 章在线测试第一题、单项选择题(每题1 分, 5 道题共 5 分)1、STL中算法访问容器的中介是()A、容器B、迭代器C、算法D、数组2、允许程序员以相同的方式处理不同的数据结构的是()A、容器B、迭代器C、算法D、数组3、列表 list属于()A、顺序容器B、关联容
5、器C、前向容器D、双向容器4、映射( map )属于 ( ) A、顺序容器B、关联容器C、前向容器D、双向容器5、多重映射( multimap )属于 ( ) A、顺序容器B、关联容器C、前向容器D、双向容器第二题、多项选择题(每题2 分, 5 道题共 10 分)1、按照算法对容器的影响可以将算法分成()A、可变序列算法B、非可变序列算法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 27 页 - - - - - - - - - C、排序算法D、数值计算算法2、下面属于容
6、器的头文件是()A、vector B、list C、quene D、set 3、下面的说法正确的是()A、STL中有 sort函数,所以程序员不能定义名字叫sort 的函数B、STL中的 sort函数在名字空间之外C、程序员可以在自定义的名字空间内定义sort 函数D、使用 STL的 sort 函数可以在源程序的开头加入using namespace std 4、下面属于顺序容器的是()A、向量B、双队列C、堆栈D、列表5、如果 char str“China!Great Wall”,生成 string类型 s 并且 s 的字符串内容也是“China !Great Wall”的语句是()A、st
7、ring s(str); B、string s(str,1); C、string s(str, 1,11); D、string sstr; 第三题、判断题(每题1 分, 5 道题共 5 分)1、迭代器是算法访问容器的中介。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 27 页 - - - - - - - - - 正确错误2、算法就是一个按照一组定义明确的步骤来解决某个问题的处理过程。正确错误3、向量( vector )、双队列( deque)、列表( list)都是顺序
8、容器正确错误4、堆栈( stack )、队列( queue)和多重映射( multimap )属于容器适配器正确错误5、双向容器是指除了具有前向迭代器外,还具有逆向迭代器面向对象程序设计第10 章在线测试第一题、单项选择题(每题1 分, 5 道题共 5 分)1、关于异常对象的说法正确的是()A、异常对象需要先建立,再抛出B、以传值方式传递异常对象时,抛出的是局部临时对象C、以引用方式传递异常对象时,抛出的是局部静态对象D、以指针方式传递异常对象时,抛出的是全局临时对象2、C+ 库中所有异常类的基类是()A、ios base:failure B、exception C、dynamiccast D
9、、badcast 3、C+ 中异常处理的默认模式是()A、终止模式B、恢复模式C、挂起模式D、暂停模式4、关于重新抛出错误的说法是()A、重新抛出是指抛出原来的异常B、 用 throw 语句再次抛出原来的异常C、只能在 catch 块中抛出D、 重新抛出时不能改变异常信号的值5、为保证程序中的全局变量不与开发商提供的全局变量重名,可以采取的措施是()A、查阅手册,不起同样的名字B、引入命名空间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 27 页 - - - - - -
10、 - - - 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、代码的保护段
11、B、如果预料某段程序代码可能发生异常,就将该段代码放在try子句之后C、try 子句产生异常D、try 子句中的 throw 表达式产生异常5、下面说法正确的是()A、函数声明void f(int i) throw ( int,char)说明函数 f 会引发 int和 char类型的异常名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 27 页 - - - - - - - - - B、函数声明void f(int i) throw ( ) 不会引发任何类型的异常C、函数声明
12、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 章在线测试剩余时间:
13、34:00 答题须知: 1、本卷满分20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。第一题、单项选择题(每题1 分, 5 道题共 5 分)1、面向对象方法的多态性是指()。A、一个类可以派生出多个特殊类B、一个对象在不同的运行环境中可以有不同的变体C、针对一消息,不同的对象可以以适合自身的方式加以响应D、一个对象可以是由多个其他对象组合而成的2、下列关于虚函数与函数重载区别的叙述中不正确的是( ) A、函数说明形式上不同B、函数重载允许是非成员函数,虚函数只能是成员函数名师资料总结 - - -精品
14、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 27 页 - - - - - - - - - C、函数重载的调用依据参数和类型的差别,虚函数则依据对象D、函数重载的本体可以在类外定义,虚函数不可以3、类 B 是类 A 的公有派生类,类 A 和类 B 中都定义了虚函数 func(),p 是一个指向类 A 对象的指针,则 p- A:func() 将 ( ) A、调用类 A 中的函数 func() B、调用类 B 中的函数 func() C、 根据 p 所指的对象类型而确定调用类 A 中或类B 中的函数
15、func() D、既调用类 A 中函数,也调用类 B 中的函数4、关于纯虚函数和抽象类的描述中,( ) 是错误的。A、纯虚函数是一种特殊的虚函数,它没有具体的实现; B、抽象类是指具有纯虚函数的类; C、一个基类说明有纯虚函数,该基类的派生类一定不再是抽象类 ; D、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。5、下面的说法正确的是()A、虚函数是成员函数B、虚函数可以是静态成员函数C、构造函数和析构函数都可以定义为虚函数D、虚函数可以是内联函数第二题、多项选择题(每题2 分, 5 道题共 10 分)1、在派生类中重新定义虚函数时必须在 ( ) 方面与基类保持一致。A、参数类型B、
16、参数个数C、操作内容D、返回值2、下面说法正确的是()A、静态绑定在编写程序的时候完成B、动态绑定在程序执行的时候完成C、静态绑定在程序编译阶段完成D、动态绑定是动态链接生成的3、下面的说法正确的是()A、纯虚函数不需要定义名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 27 页 - - - - - - - - - B、纯虚函数在派生类中实现C、纯虚函数在基类中定义为0 D、纯虚函数是不具体实现的虚函数4、下面的说法正确的是()A、抽象类只能做基类B、抽象类是继承层次中的
17、根C、抽象类用abstract定义D、抽象类中至少有一个虚函数5、关于抽象类的说法正确的是()A、抽象类可以生成类对象B、抽象类不能用作参数类型、函数返回类型或显式转换的类型C、不能定义抽象类指针和引用D、抽象类只能作为其他类的基类第三题、判断题(每题1 分,5 道题共 5 分)1、虚函数是用virtual 关键字说明的成员函数。正确错误2、构造函数说明为纯虚函数是没有意义的。正确错误3、纯虚函数是一种特殊的虚函数,它没有具体的实现正确错误4、一个基类说明有纯虚函数,该基类的派生类一定不再是抽象类; 正确错误5、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。正确错误名师资料总结 -
18、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 27 页 - - - - - - - - - 面向对象程序设计第09 章在线测试剩余时间: 40:09 答题须知: 1、本卷满分20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。第一题、单项选择题(每题1 分, 5 道题共 5 分)1、cout 是 I0 流库预定义的 : A、类B、对象C、包含文件D、常量2、在进行完任何C+流的操作后,都可以用C
19、+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()A、fail B、eof C、bad D、good 3、在 C+程序中使用的cin 标识符是系统类库中定义的()类中的一个对象。A、istream B、ostream C、iostream D、fstream 4、在 C+程序中使用的cout 标识符是系统类库中定义的()类中的一个对象。A、istream B、ostream C、iostream D、fstream 5、seekg(-40 ,ios : cur )的意思是( A)A、读写位置从当前位置前移40 个字节B、读写位置从当前位置后移40 个字节C、读写位置
20、从当前位置上移40 个字节D、读写位置从当前位置下移40 个字节第二题、多项选择题(每题2 分, 5 道题共 10 分)1、下面的说法正确的是()A、缓冲流就是缓冲区B、缓冲流当缓冲区满时才刷新流的数据C、非缓冲流不处理数据D、非缓冲流也要使用缓冲区2、下面提供输入操作的类是()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 27 页 - - - - - - - - - A、ios B、istream C、iostream D、ostream 3、下面属于标准错误输出的
21、流是()A、cin B、cout C、clog D、cerr 4、关于运算符“”的说法正确的是()A、“”如果用于cout 后,则表示输出操作B、“”也叫做插入运算符C、“”运算符可以重载D、“”是从流中提取一个字符序列5、 下面的说法正确的是(AC )A、cerr 是标准错误输出流B、cerr 和 cout 一样是可以缓冲的C、cerr 不能重定向D、cout 也不能重定向第三题、判断题(每题1 分,5 道题共 5 分)1、系统在主存中开辟的、用来临时存放输入输出数据的区域,叫做输入输出缓冲区(简称缓冲区)。正确错误2、二进制文件的写操作用成员函数write ()正确错误3、hex、oct
22、、dec 只对下一个输出有效名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 27 页 - - - - - - - - - 正确错误4、ostrstream是向字符数组的输出流,istrstream是从字符数组的输入流正确错误5、ofstream是用于读文件的文件流正确错误面向对象程序设计第07 章在线测试剩余时间: 40:23 答题须知: 1、本卷满分20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否
23、则你的答题结果将会被清空。第一题、单项选择题(每题1 分, 5 道题共 5 分)1、下面叙述不正确的是 ( ) A、派生类都用公有派生产生B、对基类成员的访问必须是无二义性的C、赋值兼容规则也适用于多重继承的组合D、基类的公有成员在派生类中仍然是公有的2、若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的 ( ) A、私有成员B、公有成员C、保护成员D、保护成员或私有成员3、对基类和派生类的关系描述中,错误的是 ( ) A、派生类是基类的具体化B、基类继承了派生类的属性C、派生类是基类定义的延续D、派生类是基类的特殊化4、假设 ClassY:publicX,则说明一个
24、Y 类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为( ) A、X,Y; Y,X B、X,Y; X,Y C、Y,X; X,Y D、Y,X; Y,X 5、派生类的成员函数可以直接访问基类的()成员。A、所有B、公有和保护C、保护和私有D、私有第二题、多项选择题(每题2 分, 5 道题共 10 分)1、对于公有继承,基类中的私有成员在派生类中将 ( )。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 27 页 - - - - - - - - - A、不能够直接
25、使用成员名访问B、能够通过成员运算符访问C、仍然是基类的私有成员D、变为派生类的私有成员2、下列对派生类的描述中正确的说法是:()。A、派生类至少有一个基类B、派生类可作为另一个派生类的基类C、派生类除了包含它直接定义的成员外,还包含其基类的成员D、派生类所继承的基类成员的访问权限保持不变3、派生类的对象对其基类中()不可以直接访问。A、公有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、私有继承的公有成员4、含有虚基类的派生类的构造函数调用次序错误的是()A、虚基类,基类,派生类,对象成员B、基类,派生类,对象成员,虚基类C、对象成员,基类,虚基类,派生类D、基类,虚基类,对象
26、成员,派生类5、已知有下面的类定义: class A ,; class B , ; class C:public B, virtual public A, ; C c;撤销 c 的时候,析构函数调用顺序错误的是()A、ABC B、CBA C、BAC 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 27 页 - - - - - - - - - D、CAB 第三题、判断题(每题1 分,5 道题共 5 分)1、基类的保护成员在派生类中仍然是保护成员。正确错误2、基类的保护成员
27、在私有派生类中是私有成员。正确错误3、私有继承时基类中的public成员在派生类中是private的。正确错误4、在公有继承中 , 基类中只有公有成员对派生类是可见的。正确错误5、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。正确错误面向对象程序设计第06 章在线测试剩余时间: 30:16 答题须知: 1、本卷满分20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。第一题、单项选择题(每题1 分, 5 道题共 5 分)1、设有函数模板 templateclass Q Q
28、 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、以下关于函数模板叙述正确的是()。A、函数模板也是一个具体类型的函数B、函数模板的类型参数与函数的参数是同一个概念C、通过使用不同的类型参数,函数模板可以生成不同类型的函数D、用函数模板定义的函数没有类型3、下面函数模板定义中不正确的是()A、template class Q B、template class Q Q F(Q x) return Q+x
29、; return x+x; C、template class T D、template class T T F(T x)return x*x; r名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 27 页 - - - - - - - - - eturn x1; 4、模板参数在函数参数表中出现的次数不可能是()。A、1 B、2 C、0 D、任意5、下面函数模板的声明正确的是()A、template void fun(int x), B、template class T vo
30、id 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、函数模板是模板函数的抽象C、模板函数是函数模板的重载函数D、函数模板是具体的函数3、关于类模板
31、的说法正确的是()A、类模板是类的抽象B、类模板是模板类的抽象C、类模板中用到通用类型参数D、类模板和普通类一样可以用于定义对象4、关于模板之间的关系说法错误的是()A、C+中有函数模板和类模板名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 27 页 - - - - - - - - - B、函数模板是模板函数的实例化C、类模板是模板类的实例化D、对象是类模板的实例化5、关于函数模板的实例化正确的说法是()A、模板函数在实例化之前要先声明B、模板类型可以进行隐式的类型转化
32、C、模板函数是函数模板的特例D、函数模板实例化生成的函数模板是重载函数第三题、判断题(每题1 分,5 道题共 5 分)1、函数模板中的每一个类型参数在函数参数表中必须至少使用一次。正确错误2、类模板中不能带有静态成员。正确错误3、类模板中可以使用无类型参数,所谓无类型参数就是值没有参数。正确错误4、模板参数名在同一模板参数表中只能使用一次,但可在多个函数模板声明或定义之间重复使用。正确错误5、模板参数在函数参数表中出现的次数没有限制。正确错误面向对象程序设计第05 章在线测试剩余时间: 5:02 答题须知: 1、本卷满分20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本
33、试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。第一题、单项选择题(每题1 分, 5 道题共 5 分)1、如果表达式a b 中的“”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()。A、a.operator (b) B、b.operator (a) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 27 页 - - - - - - - - - C、operator (a,b) D、operator (b,a) 2、如果表达式a+
34、中的“ +”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()。A、a.operator+() B、operator+(a) C、operator+(a,1) D、operator+(1,a) 3、双目运算符的调用格式是()A、双目运算符左运算对象右运算对象B、双目运算符右运算对象左运算对象C、左运算对象双目运算符右运算对象D、右运算对象双目运算符左运算对象4、一个程序中数组a 和变量 k 定义为“ int a510,k;”,且程序中包含有语句“a(2,5) +k*3; ”,则此语句中肯定属于重载操作符的是( )。A、( ) B、C、+ D、* 5、下面是重载单目运算符- 的
35、成员函数原形,其中最符合- 原来含义的是()。A、Value Value:operator-(Value); B、Value Value:operator-(int); C、Value& Value:operator-(Value); D、Value& Value:operator-(Value&); 第二题、多项选择题(每题2 分, 5 道题共 10 分)1、关于运算符重载,下列说法错误的是()。A、所有的运算符都可以重载。B、通过重载,可以使运算符应用于自定义的数据类型。C、通过重载,可以创造原来没有的运算符。D、通过重载,可以改变运算符的优先级。2、下面不是运算符new重载的正确 格式的
36、是()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、重载 del ete 运算符的格式错误的是()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
37、17 页,共 27 页 - - - - - - - - - A、void * operator delete(void*); B、void * operator delete(void*,参数表 ); C、void * operator delete( 参数表 ); D、void * operator delete(); 4、下面关于逗号运算符的说法正确的是()A、逗号运算符是多目运算符B、逗号运算符的表达式为“左运算数,右运算数”,返回值为右运算数的值。C、逗号运算符可以重载为成员函数,形参只带右运算数。D、逗号运算符的返回值为左运算数的值。5、下面重载类型转换运算符的语句正确的是()A、c
38、lass X X operator (int); B、class X operator(X, int); C、class X operator Z( ); D、class X operator Y( ); 第三题、判断题(每题1 分,5 道题共 5 分)1、多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。正确错误2、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数。正确错误3、重载运算符保持原运算符的优先级和结合性不变。正确错误4、重载比较运算符函数的返回值必须是bool 类型。正确错误5、重载运算符没有实际意义,因为系统会为每一个类自动生成赋值运
39、算符。正确错误名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 27 页 - - - - - - - - - 面向对象程序设计第03 章在线测试剩余时间: 36:03 答题须知: 1、本卷满分20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。第一题、单项选择题(每题1 分, 5 道题共 5 分)1、假定 AB为一个类,则执行“AB r1 r2; ”语句时将自动调用该类的( )。
40、A、无参构造函数B、带参构造函数C、赋值重载函数D、拷贝构造函数2、当一个类对象结束它的生存期的时侯,系统自动调用该类的 ( )。A、无参构造函数B、带参构造函数C、拷贝构造函数D、析构函数3、类的构造函数被自动调用执行的情况是在定义该类的 ( ) A、成员函数时B、数据成员时C、对象时D、友元函数时4、假定 AB为一个类,则执行“AB *p new AB(1,2);”语句时共调用该类构造函数的次数为( ) 。A、0 B、1 C、2 D、3 5、假定 AA是一个类, abc 是该类的一个成员函数,则参数表中隐含的第一个参数为()。A、abc B、*this C、this D、this& 第二题
41、、多项选择题(每题2 分, 5 道题共 10 分)1、构造函数的初始化表一般用来()A、初始化常量数据成员B、初始化子对象C、初始化引用成员D、初始化静态数据成员2、下面关于构造函数的说法正确的是()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 27 页 - - - - - - - - - A、构造函数的函数名与类名相同B、构造函数可以重载C、构造函数不可以设置默认参数D、构造函数必须指定类型说明3、下面关于静态数据成员的说法错误的是()A、静态数据成员是类的所有对象
42、所共有的B、静态数据成员要在构造函数内初始化C、类的每个对象有自己的静态数据成员D、静态数据成员不能通过类的对象调用4、下列描述属于类的成员函数的是( ) A、构造函数B、析构函数C、友元函数D、拷贝构造函数5、下面关于常对象的说法正确的是()A、在定义常对象时必须进行初始化。B、常对象的数据成员不能被更新。C、常对象不能作为类的成员。D、通过常对象可以调用该对象的成员函数。第三题、判断题(每题1 分,5 道题共 5 分)1、假定 AA为一个类, a 为该类公有的数据成员,x 为该类的一个对象,则访问x 对象中数据成员a 的格式为 x- a。正确错误2、C允许使用友元,但是友元会破坏封装性。正
43、确错误3、如果类 A的声明中将类B的对象作为数据成员,则称类A和类 B之间是一种has-a 关系,类B是类 A 的子对象。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 27 页 - - - - - - - - - 正确错误4、当两个对象之间进行复制时,复制完成后这两个对象的内容将完全独立,没有关联。正确错误5、this是一个隐含于每一个类的成员函数的特殊指针,它是一个指向正在被某个成员函数操作的对象的指针正确错误面向对象程序设计第02 章在线测试剩余时间: 46:50
44、 答题须知: 1、本卷满分20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。第一题、单项选择题(每题1 分, 5 道题共 5 分)1、如果 class 类中的所有成员在定义时都没有使用关键字 pubilc,private,protected ,则所有成员缺省定义为: ( ) 。A、A. public B、B. protected C、C. private D、D. static 2、类的构造函数被自动调用执行的情况是在定义该类的 ( ) A、成员函数时B、数据成员时C、对象时D、友元函数时3、 一段
45、程序的定义如下, 在函数 f() 中将动态对象的成员n 的值改为 34 的语句应该为 ( ) class A int n; 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), b3, *p4;”语句时共调用该类构造函数的次数为( ) 。A、3 B、4 C、5 D、9 5、假定 AB为一个类,则执行“AB *p new AB(1,2);”语句时共调用该类构造
46、函数的次数为( ) 。A、0 B、1 C、2 D、3 第二题、多项选择题(每题2 分, 5 道题共 10 分)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 27 页 - - - - - - - - - 1、下面有关类说法正确的是(A,B,D ) A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员2、关于封装,下列说法中正确的是()。A、通过封装,对象的全部属性和操作结合在一起,形成一个整体B、通过封
47、装,一个对象的实现细节被尽可能地隐藏起来(不可见)C、通过封装,每个对象都成为相对独立的实体D、通过封装,对象的属性都是不可见的3、假定 AA为一个类, a 为该类私有的数据成员,GetValue() 为该类公有函数成员,它返回a 的值, x 为该类的一个对象,则访问x 对象中数据成员 a 的语句错误的是()。A、x.a B、x.a() C、x- GetValue() D、x.GetValue() 4、构造函数的初始化表一般用来()A、初始化常量数据成员B、初始化子对象C、初始化引用成员D、初始化静态数据成员5、下面关于静态数据成员的说法错误的是(BCD )A、静态数据成员是类的所有对象所共有
48、的B、静态数据成员要在构造函数内初始化C、类的每个对象有自己的静态数据成员名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 27 页 - - - - - - - - - D、静态数据成员不能通过类的对象调用第三题、判断题(每题1 分,5 道题共 5 分)1、 C允许使用友元,但是友元会破坏封装性。正确错误2、 所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的。正确错误3、 某类中的友元类的所有成员函数可以存取或修改该类中的私
49、有成员。正确错误4、 如果类 A的声明中将类B的对象作为数据成员,则称类A 和类 B之间是一种has-a 关系,类 B 是类 A的子对象。正确错误5、 静态数据成员不从属于任何一个具体对象,所以必须在构造函数对它初始化。正确错误面向对象程序设计第01 章在线测试剩余时间: 37:39 答题须知: 1、本卷满分20 分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。第一题、单项选择题(每题1 分, 5 道题共 5 分)1、下面不属于C+语言的特点的是A、C+支持数据封装B、C+ 支持继承性C、C+支持动态绑
50、定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 :30;D、a:31 ; b :32 ; c :30;3、VC项目中可以添加的文件类型不可以是A、.CPP B、.C C、.H D、.LIB 4、do-while语句的循环体至少执行名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23