面向对象程序设计(西安理工大学)知到智慧树章节测试课后答案2024年秋西安理工大学_第1页
面向对象程序设计(西安理工大学)知到智慧树章节测试课后答案2024年秋西安理工大学_第2页
面向对象程序设计(西安理工大学)知到智慧树章节测试课后答案2024年秋西安理工大学_第3页
面向对象程序设计(西安理工大学)知到智慧树章节测试课后答案2024年秋西安理工大学_第4页
面向对象程序设计(西安理工大学)知到智慧树章节测试课后答案2024年秋西安理工大学_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

面向对象程序设计(西安理工大学)知到智慧树章节测试课后答案2024年秋西安理工大学第一章单元测试

(

)是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

A:抽象性B:封装性C:继承性D:多态性

答案:继承性编译时的多态性是通过(

)来实现的。

A:重载B:继承C:多态D:组合

答案:重载运行时的多态性是通过(

)来实现的。

A:纯虚函数B:虚函数C:友元函数D:静态函数

答案:虚函数

(

)是对一组具有共同属性特征和行为特征的对象的抽象。

A:成员函数B:类C:静态函数D:对象

答案:类

(

)是一个类所描述的一个具体的对象。

A:对象B:实例C:成员函数D:类

答案:实例(

)就是从众多的事物中抽取出共同的、本质性的特征,舍弃其非本质的特征。

A:继承B:多态C:封装D:抽象

答案:抽象子类继承了多个父类的数据结构和方法,则称为(

)。

A:多重继承B:单继承C:封装D:抽象

答案:多重继承面向对象设计中,对象就是(

),它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。

A:操作B:方法C:模块D:抽象

答案:模块把面向对象思想应用于软件开发过程中,指导开发活动的系统方法,简称(

)方法。

A:面向过程B:面向对象C:面向应用D:其它都不对

答案:面向对象面向对象程序设计所涉及的术语有类、对象、方法、(

)和重载。

A:消息B:属性C:实例D:数据

答案:消息;属性;实例

第二章单元测试

大多数C++程序通常包含(

)头文件,它包含了所有输入/输出操作所需要的信息。

A:string.hB:iostream.hC:istream.hD:ostream.h

答案:iostream.h运算符<<左边的操作数是(

)类的一个对象,右边可以是C++的合法表达式。

A:ifstreamB:ostreamC:istreamD:ofstream

答案:ostream

(

)表示标准错误输出(非缓冲方式)导出程序错误信息。

A:coutB:clogC:cerr

D:cin

答案:cerr

(

)表示标准错误输出(缓冲方式),导出程序错误信息。

A:cinB:coutC:clogD:cerr

答案:clog命名空间成员的访问格式为(

)。

A:命名空间标识符->成员名B:命名空间标识符:成员名C:命名空间标识符.成员名D:命名空间标识符::成员名

答案:命名空间标识符::成员名

ifstream从(

)派生而来,把文件绑定到程序输入。

A:istreamB:ostreamC:其它都不是D:ofstream

答案:istreamofstream从(

)派生而来,把文件绑定到程序输出。

A:ostreamB:ofstreamC:istreamD:其它都不是

答案:ostreamfstream从(

)派生而来,把文件绑定到程序输入/输出。

A:

ifstreamB:

iostreamC:ofstreamD:istream

答案:

iostream

(

)是标准输入流。

A:cinB:cerrC:clogD:cout

答案:cin下面4个选项中,专门用于读取单个字符的是(

)。

A:cin.read()B:cin.get()C:cin.put()D:cin.getline()

答案:cin.get()

第三章单元测试

(

)的功能是释放一个对象,在对象删除之前,用它来做一些内存释放等清理工作,它的功能与构造函数的功能正好相反。

A:构造函数B:静态函数C:析构函数D:友元函数

答案:静态函数在堆中创建的数据对象称为(

)。

A:静态对象B:堆对象C:其它都不是D:全局对象

答案:堆对象在C++语言程序中,对象之间的相互通信通过调用(

)函数实现。

A:构造B:析构C:成员D:静态

答案:成员析构函数和构造函数两者的调用次序(

)。

A:相反B:其它都不对C:相同D:随机

答案:相反如果不定义析构函数,系统会自动生成一个默认的(

)。

A:构造函数B:析构函数C:友元函数D:静态函数

答案:析构函数以下程序的输出结果为(

)#include<iostream.h>classSample{intx;public:Sample(){cout<<(x=0);}Sample(inti){cout<<(x=i);}~Sample(){cout<<x<<endl;}voiddisp(){cout<<x;}};voidmain(){Samples(3);inti=0;if(i=0){Samples;s.disp();}}

A:22B:33C:24D:34

答案:33以下选项中是下列程序的输出结果的是(

A:3B:0C:4D:5

答案:4下面选项中是以下程序输出结果的是(

)#include<iostream.h>intadd(intx,inty=8);voidmain(){inta=6;cout<<add(a,add(a))<<endl;}intadd(intx,inty){returnx+y;}

A:16B:12C:20D:14

答案:20下面程序的输出结果为(

)#include<iostream.h>intp(intx=4,inty=5,intz=6){returnx+y+z;}voidmain(){inta=3,b=4,c=5;c=p(b,a);cout<<c;}

A:12B:11C:13D:15

答案:13请选择出下面程序的输出结果(

)#include<iostream.h>floatf(floatx,floaty){returnx+y;}intf(intx,inty){returnx+y;}voidmain(){floata,b,c;a=b=50.5;c=f(a,b);cout<<c;}

A:50.5B:100.5C:100D:101

答案:101

第四章单元测试

(

)是指两个或两个以上的函数具有相同的函数名,但参数类型不一致或参数个数不同。

A:函数模板B:函数重载C:默认参数D:友元函数

答案:函数重载成员函数重载的一个很重要的应用就是重载(

)。

A:构造函数B:友元函数C:静态函数D:析构函数

答案:构造函数在函数调用时,若某个参数省略,则其后的参数皆应省略而采用(

)。

A:默认值B:默认参数C:模板D:重载

答案:默认值在类内给出函数体定义的成员函数被默认为(

)。

A:友元函数B:静态函数C:内联函数D:构造函数

答案:内联函数内联函数的关键字是(

)。

A:

throwB:

inlineC:

friendD:static

答案:

inline函数重载是指两个或两个以上的函数具有(

)的函数名,但参数类型不一致或参数个数不同。

A:相同B:随意C:不同D:其它都可以

答案:相同函数重载是指两个或两个以上的函数具有相同的函数名,但参数类型不一致或(

)不同。

A:返回值类型B:其它都不对C:参数名称D:参数个数

答案:参数个数一个类的友元函数能够访问该类的(

)

A:所有成员B:公有成员C:私有成员D:保护成员

答案:所有成员函数重载是C++对C语言的扩展,包括(

)重载。

A:非成员函数B:成员函数C:友元D:静态

答案:非成员函数;成员函数在内联函数体中不能含有如下哪些语句(

)。

A:赋值语句B:switch语句C:其它都是D:while语句

答案:switch语句;while语句

第五章单元测试

如执行语句以下语句之后,x的值为(

)。intx=5,*y=&x;int*&z=y;z++;

A:4B:3C:5D:6

答案:5如执行语句以下语句之后,x的值为(

)。inta[5]={1,2,3},&x=a[2];int*y=&x;y++;

A:3B:6C:5D:4

答案:3已知:constintx=23;定义指针q指向x,语句是(

A:int*constq=x;B:int*constq=&x;C:constint*q=x;D:constint*q=&x;

答案:constint*q=&x;常对象只能调(

)函数。

A:友元B:常成员C:静态D:成员

答案:常成员一旦一个引用被初始化为指向一个对象,它就(

)被改变为对另一个对象的引用。

A:不能B:能C:不确定D:没有正确选项

答案:不能定义q为一个指向int类型的变量i的常指针语句(

)

A:constint*q=i;B:int*constq=i;C:constint*q=&i;D:int*constq=&i;

答案:int*constq=&i;引用是通过变量的别名(

)访问变量。

A:其它都不对B:随机C:直接D:间接

答案:直接在类里创建一个const数据成员时不能赋初值,只能在(

)里对其赋初值。

A:友元函数B:析构函数C:静态函数D:构造函数

答案:构造函数引用作为函数参数时,函数实参与形参之间的传递是(

)传递。

A:单向B:所有选项都对C:随机D:双向

答案:双向关于拷贝构造函数的描述正确的是(

)。

A:如果需要用已有对象为新创建的对象初始化时,就必须自定义拷贝构造函数B:如果有自定义的构造函数,系统就不再提供拷贝构造函数C:通常的拷贝构造函数的参数是对象的指针类型D:如果不自定义拷贝构造函数,系统提供默认的拷贝构造函数

答案:如果不自定义拷贝构造函数,系统提供默认的拷贝构造函数

第六章单元测试

C++中只能重载C++语言中(

)的运算符。

A:原先已定义B:其他选项均不对C:所有D:新创建的

答案:原先已定义前置单目运算符重载为类的成员函数时,其参数表有(

)个参数。

A:任意

B:0

C:1

D:2

答案:0

用构造函数完成类类型的转换,类内至少定义一个(

)的构造函数。

A:只带两个参数B:只带一个参C:无参数D:可带任意个参数

答案:只带一个参双目运算符重载为类的成员函数时,其参数表有(

)个参数。

A:2B:0

C:1D:任意

答案:1对赋值运算符进行重载时,应声明为(

)函数。

A:析构B:静态成员C:构造D:非静态成员

答案:非静态成员将一个char型数据转换为String类型(用户自定义类型)的数据时,可以用(

)函数完成类类型转换。

A:静态B:构造C:友元D:析构

答案:构造如何只带一个参数(或其他参数都带有默认值)的(

)函数都可以认为是一种转换构造函数。

A:构造B:友元C:静态D:析构

答案:构造下列关于运算符重载的描述中,错误的是(

)。

A:加法运算符"+"和赋值运算符"="都重载之后,意味着"+="也被重载了B:运算符重载不可以改变运算符的操作数个数C:运算符重载不可以改变结合性D:运算符重载不可以改变优先级

答案:加法运算符"+"和赋值运算符"="都重载之后,意味着"+="也被重载了下列运算符中,必须使用成员函数进行重载的是(

)。

A:>>B:=C:==D:++

答案:=大多数的运算符重载可以重载为类的(

)。

A:非成员函数B:构造函数C:成员函数D:友元函数

答案:成员函数;友元函数

第七章单元测试

)函数和全局函数不能声明为虚函数。

A:所有都可以B:静态成员C:析构D:非静态成员

答案:静态成员在派生类的声明中,如果只有一个基类名,则这种继承方式称为(

)。

A:抽象继承B:多继承C:单继承D:组合继承

答案:单继承普通对象调用虚函数,系统仍然以(

)方式调用函数。

A:静态绑定B:动态绑定C:继承D:派生

答案:静态绑定抽象类只能用做其他类的(

)类,不能建立抽象类对象。

A:派生B:子C:其它都可以D:基

答案:基如果派生类没有给出全部纯虚函数的实现,这时的派生类仍然是一个(

)类。

A:其它都可以B:派生C:基D:抽象

答案:抽象必须在派生类的(

)函数中调用初始化虚基类的构造函数。

A:构造B:友元C:纯虚D:析构

答案:构造如果一个类带有纯虚函数,则此类称为(

)类。

A:虚基B:派生C:抽象D:子

答案:抽象抽象类用做提供(

)类的接口,不能声明对象。

A:抽象B:基C:派生D:虚基

答案:派生关于虚函数和抽象类描述错误的是(

)。

A:纯虚函数是一种特殊的函数,它没有具体实现B:抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出C:抽象类是指具有纯虚函数的类D:一个基类中声明有纯虚函数,则它的派生类一定不再是抽象类

答案:一个基类中声明有纯虚函数,则它的派生类一定不再是抽象类在派生类中重新定义虚函数时,除了(

),其他方面都必须与基类中相应的虚函数保持一致。

A:函数体B:参数类型C:函数名称D:参数个数

答案:函数体

第八章单元测试

把模板参数实例化后,由函数模板产生的函数称为(

),它是函数模板的具体实例。

A:内联函数B:函数模板C:模板函数D:友元函数

答案:模板函数类模板代表了一类(

),模板类表示某一具体的类。

A:函数B:对象C:模板D:类

答案:类使用函数模板的方法与使用普通函数类似,即使用(

)代替模板参数并调用。

A:类B:实参C:声明D:形参

答案:实参类模板的使用实际上是将类模板实例化成为一个具体的(

)。

A:函数B:类C:模板类D:对象

答案:模板类如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都须重复使用关键字(

)。

A:voidB:classC:constD:static

答案:class一个(

)允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。

A:模板类B:模板函数C:函数模板D:类模板

答案:类模板函数模板代表了一类函数,是对一类函数的抽象,它以(

)类型为参数。

A:其它都不是B:自定义C:

intD:

char

答案:自定义;

int;

char模板函数与函数重载相同,可以互相取代。

A:错B:对

答案:错类模板的成员函数都是模板函数。

A:错B:对

答案:对类模板本身在编译中会生成额外的代码。

A:错B:对

答案:错

第九章单元测试

要通过“<<”输出自定义的类类型,则必须重载该运算符为(

)函数。

A:析构B:静态C:构造D:友元

答案:友元要从文件中输入数据,则必须定义(

)类的对象。

A:ofstreamB:

istreamC:

ifstreamD:

ostream

答案:

ifstream控制格式输入输出的操作中,函数(

)是用来设置填充字符。要求给出函数名和参数类型。

A:setfillB:setbaseC:

fillD:setw

答案:setfill在C++的流对象中,(

)表示标准输入的istream类对象。

A:cinB:outC:coutD:in

答案:cin下列关于getline( )函数的叙述中,错误的是(

)。

A:getline( )函数仅用于从键盘而不能从文件读取字符串B:getline( )函数中所使用的终止符默认是换行符,也可指定其他终止符C:getline( )函数读取字符串时,遇到终止符就停止D:getline( )函数读取字符串长度是受限制的

答案:getline( )函数仅用于从键盘而不能从文件读取字符串打开文件的方式中,(

)以追加方式打开文件。

A:ios::outB:ios::inC:ios::trunkD:ios::app

答案:ios::app以下程序的输出结果为(

)#include<iostream>#include<iomanip>usingnamespacestd;ostream&myoutput(ostream&stream){stream<<hex<<setw(7)<<setfill('*')<<left;returnstream;}intmain(){inti=91;cout<<i<<","<<myoutput<<i<<endl;return0;}

A:其它都不对B:91,*******C:91,5BD:91,5B*****

答案:91,5B*****以下程序的输出结果为(

)#include<iostream>#include<fstream>usingnamespacestd;intmain(){ofstreamoutf("data.dat");inti;for(i=0;i<10;i++){outf<<i;if(i%3==0)outf<<endl;}outf.close();ifstreaminf("data.dat");while(!inf.eof()){inf>>i;cout<<i<<",";}inf.close();return0;}

A:其它都不对B:0,C:0,123,456,789,789,D:0,123,456,789,

答案:0,123,456,789,789,以下程序的输出结果为(

)#include<iostream>#include<iomanip>usingnamespacestd;ostream&myoutput(ostream&stream){stream<<setw(10)<<setfill('#')<<left;returnstream;}intmain(){inti=123;cout<<i<<","<<myoutput<<i<<endl;return0;}

A:123,;;#123B:123

温馨提示

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

评论

0/150

提交评论