面向对象程序设计郑大网上测试_第1页
面向对象程序设计郑大网上测试_第2页
面向对象程序设计郑大网上测试_第3页
面向对象程序设计郑大网上测试_第4页
面向对象程序设计郑大网上测试_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象程序设计第 01章在线测试_J C cinJ D in3、下面关于 while和do-while 说法错误的是A、do-while的循环体至少执行一次B、while的循环控制条件比 do-while 严格“C do-while允许从外部转到循环体内乒 D do-while的循环体不能是复合语句4、内联函数正确的是口 A内联函数用inline 关键字说明以B、内联函数调用时用具体的函数体代码替换函数调用G内联函数与预定义语句相同U. D在一个文件中定义的内联函数不可以在另一个文件中使用5、C+隹序中声明变量int *p1 , *p2 ,m =5, n ;下面错误的语句是A A p1 =

2、&m; p2 = &p1;B、p1 = &m; p2 = &n;*p1 = *p2口 C p1 = &m;p2=p1;7 r “ c * c D p1 = &m;*p2=*p1;第三题、判断题(每题 1分,5道题共5分)1、内联函数体内可以使用C+勺所有控制语句。正确错误2、重载的函数的函数名是相同的,但它们的参数的个数、参数数据类型或返回值类型中至少应有一种是不同的正确” 错误3、变量声明int * p 5定义了一个指向数组的指针变量p。正确球错误4、静态局部变量和全局变量的作用域和生存期都是一样的。正确错误5、数组int array10 中共有10个整型元素,其下标值从 1到10。错误剩余

3、时间:59:54面向对象程序设计第 02章在线测试M B、x.a()“G x- GetValue()i D D x.GetValue()3、下面关于构造函数的说法正确的是()囱A、构造函数的函数名与类名相同 B、构造函数可以重载二G构造函数不可以设置默认参数D构造函数必须指定类型说明4、使类中的一个指针成员指向一块动态存储空间时,通常不能在下面哪些函数中实现()I A析构O B、构造L! G任一函数成员,D友元5、下面关于常对象的说法正确的是()A在定义常对象时必须进行初始化。yB、常对象的数据成员不能被更新。口 G常对象不能作为类的成员。D通过常对象可以调用该对象的成员函数第三题、判断题(每

4、题 1分,5道题共5分)1、假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问 x对象中数据成员a的格式为x-a。r正确6错误2、对类中引用成员的初始化是通过构造函数中给出的初始化表实现的。正确r错误3、C + +允许使用友元,但是友元会破坏封装性。正确r错误4、所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的。错误5、如果类A的声明中将类B的对象作为数据成员,则称类 A和类B之间是一种has-a关系,类B是类A的子对象。错误面向对象程序设计第 03章在线测试剩余时间:59:54W O x- GetValue()D x.GetV

5、alue()3、构造函数的初始化表一般用来()7A、初始化常量数据成员 B、初始化子对象“G初始化引用成员厂 D初始化静态数据成员4、下面关于静态数据成员的说法错误的是()厂 A、静态数据成员是类的所有对象所共有的g B、静态数据成员要在构造函数内初始化万 G类的每个对象有自己的静态数据成员旷 D静态数据成员不能通过类的对象调用5、使类中的一个指针成员指向一块动态存储空间时,通常不能在下面哪些函数中实现()乒A、析构厂B、构造回G任-函数成员D友元第三题、判断题(每题 1分,5道题共5分)1、析构函数的作用是在对象被撤销时收回先前分配的内存空间。正确错误2、C+允许使用友元,但是友元会破坏封装

6、性。?正确 错误3、静态成员函数允许访问类的数据成员。球正确错误4、如果类A的声明中将类B的对象作为数据成员,则称类 A和类B之间是一种has-a关系,类B是类A的子对象。正确错误5、静态数据成员不从属于任何一个具体对象,所以必须在构造函数对它初始化。错误剩余时间:59:54面向对象程序设计第 04章在线测试B、int f(void) 是 int f(int, int)的重载函数G int f(void) 可以访问A的私有成员D int f() 不是类A的友元函数3、关于友元的描述中正确的是()回A友元函数可以访问该类的私有数据成员B、一个类的友元类中的成员函数都是这个类的友元函数二G友元可以

7、提高程序的运行效率D类和类之间的友元关系可以继承4、若B类为A类的友元类,则下面的说法错误的是()厂A、B类的所有成员函数都是A类的友元函数旷B、B类指定的成员函数才是 A类的友元 G A类的所有成员函数可以访问B类的成员“ D B类的私有成员函数不能可以访问A类的私有成员5、友元函数在类中的定义位置是()厂A、只能在public 区之 B、可以在任意区域G只能在protected 区D只要在类中就可以第三题、判断题(每题 1分,5道题共5分)1、友元只能访问类中的公有成员,不能访问私有成员。r正确错误2、某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。正确r错误3、友元类是使用f

8、riend关键字声明的类,它的所有成员函数都是相应类的友元函数。正确错误确4、如果函数f()要操作类A和类B的私有成员,可以把f()声明为类A的成员函数,把类 A声明为类B的友元类。错误5、一个函数可以是多个类的友元函数。错误面向对象程序设计第 05章在线测试面向对象程序设计第 05章在线测试剩余时间:59:53第一题、单项选择题(每题 1分,5道题共5分)1、为了实现两个复数类对象c1, c2相加c1+c2,下面的语句正确的是()A、class Complex Complex operator+();B、class Complex Complex operator+(Complex&);C

9、class Complex Complex operator+(Complex,Complex);D、Complex operator+(Complex &);2、如果表达式a=b中的“=”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(A a.operator = = (b)G operator =(a,b)B、b.operator = = (a)D、operator = = (b,a)3、如果表达式+a中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为(c a.operator+(1)B、operator+(a)G operator+(a,1)D、

10、a.operator+()4、假定M是一个类名,且M中重载了操作符=,可以实现 M对象间的连续赋值,如 m1= m2= m3;。重载操作符=的函数原型最好是(A int operaotor = (M);B、int operator = (M&);D、M& operator = (M);G M operator = (M&);5、下面是重载双目运算符 +的普通函数原形,其中最符合 +原来含义的是()。A Value operator+(Value, Value);B、Value operator+(Value,int);C Value &operator+(Value, Value);D、Val

11、ue &operator+(Value&, Value&);第二题、多项选择题(每题 2分,5道题共10分)1、下面运算符不能重载的是()A、B、:2、关于运算符重载,下列说法错误的是(A所有的运算符都可以重载。口 B、通过重载,可以使运算符应用于自定义的数据类型。凹 G通过重载,可以创造原来没有的运算符。D通过重载,可以改变运算符的优先级。3、在重载一个运算符时,其参数表中没有任何参数,这表明该运算符不可能是()。“ A、作为友元函数重载的1元运算符厂 B、作为成员函数重载的1元运算符m G作为友元函数重载的2元运算符口 D作为成员函数重载的2元运算符4、类A中重载运算符new为成员函数的定

12、义如下:void * operator new ( size_ t size, int x, int y), 则使用重载new的方法错误的是:()旦 A new A;B、new (1, 2, 3);G new (1,2, 3) A;D new A (1,2,3);5、重载del ete运算符的格式错误的是()ri A ,,,A void * operator del_ ete(void*);B、void * operator del_ ete(void*,参数表);void * operator del _ ete( 参数表);void * operator del_ ete();第三题、判断

13、题(每题 1分,5道题共5分)1、多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。?正确 错误2、单目运算符-只能被重载为成员函数。3、双目运算符重载为成员函数的时候,一个运算对象由this指针给出,另一个运算对象通过重载运算符的形参传递。Q4、双目运算符oI正确)重载为A类的成员函数后,表达式“objl op obj2r”可错误以解释为:operator op(obj1 , obj2)。正确错误5、重载=运算符没有实际意义,因为系统会为每一个类自动生成赋值运算符。k确错误面向对象程序设计第 06章在线测试剩余时间:58:51第一题、单项选择题(每题 1分,5道题共5分

14、)1、模板参数在函数参数表中出现的次数不可能是(1B、2D、任意 TOC o 1-5 h z 2、关于函数模板的说法错误的是() B、函数模板是具体的函数,在系统遇到具体函数调用时生成D、函数模板不能执行A、函数模板是一个模板,其中用到通用类型参数 G函数模板是一组函数的抽象3、下面函数模板的声明正确的是() 3,_,r _t 、3,A template void fun(int x), B、template void fun(int x), D D、template void fun(class T x)C template void fun(T x), , 4、下面关于函数调用的顺序说法正

15、确的是()A、函数调用时首先匹配参数完全相同的函数B、函数调用时首先寻找匹配的函数模板G函数调用时如果没有找到对应的函数模板生成模D、函数调用时如果函数模板和函数都没有对应的,函数调用错误板函数就查找参数相同的函数5、下面的说法错误的是()A、类模板或类模板的引用可以作为函数的形参B、带有类模板参数的函数与普通函数相同G调用带有类模板参数的函数时对应的实参应该是D、类模板中可以设计友元函数该类模板实例化的模板类对象第二题、多项选择题(每题 2分,5道题共10分)1、关于模板函数的说法正确的是()口 A模板函数是编译系统在编译时根据函数模板自动生成的 B、模板函数是函数的模板G模板函数是程序员用

16、代码写出来的 D模板函数是函数模板的实例化2、模板函数与函数模板的区别是()A、模板函数是函数模板的抽象巴 B、函数模板是模板函数的抽象U G模板函数是函数模板的重载函数旦D函数模板是具体的函数3、关于类模板的说法正确的是()A类模板是类的抽象二B、类模板是模板类的抽象G类模板中用到通用类型参数D类模板和普通类一样可以用于定义对象4、关于函数模板的说法正确的是()O A函数模板生成的模板函数是重载的,但是函数模板不能重载L! B、C+班序中函数模板可以同名,但是形参个数和类型应有区别y G函数模板可以和普通函数重载口 D函数模板不能重载5、关于类模板的成员函数的说法正确的是()y A、类模板的

17、成员函数被认为是函数模板,也成为类属函数 B、类模板的成员函数的定义与类的成员函数的定义一样G类模板的成员函数通过类模板调用D类模板的成员函数可以在类外定义,但要符合函数模板定义的规范第三题、判断题(每题 1分,5道题共5分)1、在C+钟,当存在一个与模板函数同名的普通函数时,调用的顺序是模板函数优先。错误正确确2、带有类模板参数的友元函数必须是模板函数。错误3、模板类型参数名可以用来指定函数模板的返回类型。后正确错误4、函数模板每个模板类型参数前面都必须用关键字class或typename修饰。F正确错误5、函数模板是程序员用代码写出来的,模板函数是编译系统在编译时根据函数模板自动生成的G正

18、确错误面向对象程序设计第 07章在线测试剩余时间:59:54第一题、单项选择题(每题 1分,5道题共5分)1、下面叙述不正确的是()A、派生类都用公有派生产生G赋值兼容规则也适用于多重继承的组合2、对基类和派生类的关系描述中,错误的是()A 派生类是基类的具体化G派生类是基类定义的延续3、继承机制的作用是()A、信息隐藏B、对基类成员的访问必须是无二义性的D、基类的公有成员在派生类中仍然是公有的值 B、基类继承了派生类的属性 D、派生类是基类的特殊化B、数据封装D、数据抽象B、公有继承的私有成员D、公有继承的公有成员A class virtual B:public AB、class B : v

19、irtual public AG virtual class B : public AD、class B : public A virtual4、可以用p.a的形式访问派生类对象p的基类成员a,其中a是()A私有继承的公有成员G公有继承的保护成员5、下列虚基类的说明中,正确的是 ()第二题、多项选择题(每题 2分,5道题共10分)1、在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()cA派生类的对象可以赋给基类的对象B、派生类的对象可以初始化基类的引用巳G派生类的对象可以直接访问基类中的成员口 D派生类的对象的地址可以赋给指向基类的指针2、如果是类B在类A的基础上构造,那么,

20、就称()。 A类A为基类或父类,类 B为超类或子类B、类A为基类、父类或超类,类 B为派生类或子类EO G类A为派生类,类B为基类 D类A为派生类或子类,类 B为基类、父类或超类3、对于公有继承,基类中的私有成员在派生类中将()o斤 A不能够直接使用成员名访问厂 B、能够通过成员运算符访问“G仍然是基类的私有成员厂 D变为派生类的私有成员4、派生类的对象对其基类中()不可以直接访问。厂 A、公有继承的公有成员旷 B、公有继承的私有成员厂 G公有继承的保护成员旷 D私有继承的公有成员5、下面说法正确的是()厂 A、派生类指针可以直接指向基类对象歹 B、派生类指针可以强制转换为基类指针口 G派生类

21、成员可以通过基类指针引用8 D基类指针可以指向派生类中对象第三题、判断题(每题 1分,5道题共5分)1、基类的保护成员不能被派生类的对象访问。正确错误2、公有继承时基类中的 protected 成员在派生类中仍是 protected的。?正确 错误3、派生类的继承方式有两种,公有继承和私有继承。正确球错误4、在私有继承中,基类中只有公有成员对派生类是可见的。正确错误5、析构函数不能被继承。错误面向对象程序设计第 09章在线测试剩余时间:58:34答题须知:1、本卷满分20分。2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。3、在交卷之前,不要刷新本网页,否则你的答题

22、结果将会被清空。第一题、单项选择题(每题 1分,5道题共5分)1、执行语句序列 ofstream outf( salary.dat ) ; if(.)cout 成功;else cout ”的右操作数G函数的第二个操作数是“”的左操作数D、函数的第二个参数必须是对类ostream的引用第二题、多项选择题(每题 2分,5道题共10分)1、下面提供输入操作的类是()A、 iosB、 istreamG iostreamostream2、关于运算符“的说法正确的是()abc ac cdAA、如果用于 cout后,则表示输出操作B、“”也叫做插入运算符回 G “”运算符可以重载 D “向cout发送字符厂

23、 G 一个语句中只能使用一个插入运算符歹 D插入运算符是左结合的4、下面关于cin的说法正确的是()g A cin是与标准设备链接的预定义输入流厂 B、运算符向cin发送字符 G提取运算符读取键盘输入的所有字符,包括空格旧 D 一个语句中可以使用多个提取运算符5、关于重载析取运算符的说法,错误的是( BCD厂 A函数的返回值必须是对类 istream的引用5 B、函数的第一个操作数是“”的右操作数口 G函数的第二个操作数是“”的左操作数D函数的第二个参数必须是对类istream的引用第三题、判断题(每题 1分,5道题共5分)1、为了输入和输出类类型的数据,用户可以重载“”运算符。“ 正确 错误

24、2、trunc与out参数的作用是相同的。“ 正确 错误3、IO流库重载的插入和析取运算符处理所有的数据类型。正确“错误4、ws跳过输入流前面的空白字符“正确错误5、调用clear函数后,流就变成可用 正确 错误面向对象程序设计第 08章在线测试剩余时间:59:52回A、函数重载B、类模板回G函数模板 D派生类3、下面的说法正确的是()M A虚函数在派生类中可能有不同实现g B、C+寸虚函数的调用采取了动态绑定方式回G动态绑定只能通过指针或引用表示对象来调用虚函数厂 D动态绑定的处理方式不能实现静态类型检查4、调用虚函数实现多态的步骤是()歹 A、将基类对象地址或派生类对象地址赋给基类指针B、

25、定义基类指针厂 G用派生类对象或基类对象调用虚函数5D用基类指针调用虚函数5、下面的说法正确的是()口 A抽象类只能做基类B、抽象类是继承层次中的根厂 G抽象类用abstract 定义厂 D抽象类中至少有一个虚函数第三题、判断题(每题 1分,5道题共5分)1、函数绑定是指函数的入口地址同函数调用相联系的过程。正确2、抽象类是指一些没有说明对象的类。错误错误3、动态联编是在运行时选定调用的成员函数的。Q4、抽象类是指具有正确.纯虚函数的类;r错误正确r错误5、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。行1k确c错误面向对象程序设计第 10章在线测试剩余时间:59:55第一题、单项选

26、择题(每题 1分,5道题共5分)1、下面哪些情况不会造成异常()A、内存耗尽B、再次打开文件D、数组越界访问2、关于异常的处理过程,正确的说法是()A 在可能会出现错误的地方,用 catch捕捉B、在可能会出现错误的地方,用 throw抛出异常G catch块可以捕捉所有异常D、只有与catch ()参数匹配的异常才可以捕捉A忽略它3、如果异常没有列入异常规范,在 C+钟将()B、程序中止G系统调用unexpected ()终止程序D、询问用户4、关于catch (。)的说法错误的是()A catch (。)可以捕捉所有类型的异常G catch (。)可以避免出现没有被捕捉的异常5、C+用异常

27、处理的默认模式是()A终止模式第二题、多项选择题(每题 2分,5道题共10分)1、下面的说法正确的是()异常处理是指允许 C+镭序非正常结束B、异常处理是指C+镭序在出错的情况下有正确合理的表现C+序绝对不能出现错误B、catch (。)必须放在所有catch块的后面D、catch (。)不能单独使用B、恢复模式D、暂停模式异常处理使C+程序在出现错误的情况下仍能继续运行2、处理程序中可预料的错误的方法有()A、根据函数返回值进行判断处理B、出现错误转向专门的错误处理程序3、异常处理的优点是()A、提高程序可读性B、程序的控制不会因产生异常而随意跳转正常处理代码和异常处理代码隐式分离与函数调用

28、返回的控制方法一致4、关于异常处理的说法正确的是()将异常的检测与处理分离B、异常就是错误异常由函数调用引起 在上层调用函数中使用 try检测函数调用是否引发异常5、下面与异常处理相关的关键字有()TryB、Catchtry catch第三题、判断题(每题 1分,5道题共5分)确1、抛出异常的模块只是报告某个地方存在错误,这个报告可以帮助异常处理器解决这个错误。错误确2、异常处理器根据抛出异常模块的报告来处理异常。错误确3、C+丐I入了关键字throw和catch ,用于进行异常处理。错误4、异常信号传递方式有三种:传值方式、引用方式和指针方式。正确错误5、throw()表示函数不会抛出任何类

29、型的异常错误面向对象程序设计第 11章在线测试剩余时间:59:54第一题、单项选择题(每题 1分,5道题共5分)1、以下正确的说法是()。A、用户调用标准库函数前,必须重新定义“ G系统不允许用户重新定义标准库函数2、关于STL的说法正确的是()A A STL是新的C+幅准库G C STL是基于模板实现的3、STL中算法访问容器的中介是() A容器 G算法4、列表list 属于()G A顺序容器 G前向容器5、堆栈(stack )属于() A顺序容器G前向容器第二题、多项选择题(每题 2分,5道题共10分)1、下面是算法完成的工作的是()8A、计算厂 B、画流程图5 G操作容器对象厂 D堆栈操作2、下面属于C+怖准库的是()B、用户可以重新定义标准库函数,若如此,该函数将失去原有含义 D、用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中B、STL是函数集合D STL是VC+6.0的一部分G B、迭代器D、数组B、关联容器 D、双向容器 B、关联容器D、容器适配器A STL巴B、C标准

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论