面向对象程序设计(山东联盟-青岛理工大学)智慧树知到期末考试答案2024年_第1页
面向对象程序设计(山东联盟-青岛理工大学)智慧树知到期末考试答案2024年_第2页
面向对象程序设计(山东联盟-青岛理工大学)智慧树知到期末考试答案2024年_第3页
面向对象程序设计(山东联盟-青岛理工大学)智慧树知到期末考试答案2024年_第4页
免费预览已结束,剩余5页可下载查看

下载本文档

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

文档简介

面向对象程序设计(山东联盟-青岛理工大学)智慧树知到期末考试答案2024年面向对象程序设计(山东联盟-青岛理工大学)关于对象和类的关系,说法正确的是(

)。

A:同一类的不同对象,其具有的操作可不同,具体的操作也不同。B:同属于一类的对象,具有相同的数据成员和成员函数。C:不同类的对象,可有相同的操作。D:对象是具体,是类的对象,同其他变量一样,先定义后使用。答案:同一类的不同对象,其具有的操作可不同,具体的操作也不同。使用派生类的主要原因是(

A:加强类的封装性B:实现数据的隐藏C:提高代码的可重用性D:提高程序的运行效率答案:提高代码的可重用性下面的哪个保留字不能作为函数的返回类型?(

)。

A:longB:newC:intD:void答案:new下列有关重载函数的说法中正确的是()。

A:重载函数参数个数必须相同B:重载函数名可以不同C:重载函数必须具有不同的返回值类型D:重载函数必须有不同的形参列表答案:重载函数必须有不同的形参列表下列各运算符中,(

)优先级最低。

A:!=B:?:C:||D:|答案:=下列属于动态多态的是(

)。

A:虚函数B:函数重载C:构造函数重载D:运算符重载答案:重载预处理命令在程序中都是以(

)符号开头的。

A:&B:@C:#D:*答案:#程序中主函数的名字为(

)。

A:mainB:MainC:任意标识符D:MAIN答案:main执行以下程序:char*str;cin>>str;cout<A:输出乱码或出错B:1234C:abcd1234D:abcd答案:输出乱码或出错在类中说明的成员可以使用关键字的是(

)。

A:cpuB:registerC:publicD:extern答案:public在C++中,关于下列设置参数默认值的描述中,正确的是()。

A:设置参数默认值时,应该是先设置右边的再设置左边的B:设置参数默认值时,应该全部参数都设置C:设置参数默认值只能在定义函数时设置D:不允许设置参数的默认值答案:设置参数默认值时,应该全部参数都设置假定AB为一个类,则(

)为该类的拷贝构造函数的原型说明。

A:voidAB(AB&x);B:AB(ABx);C:AB(AB&x);D:AB(intx);答案:AB(AB通常,拷贝构造函数的参数是(

A:某个对象的成员名B:某个对象名C:某个对象的引用名D:某个对象的指针名答案:某个对象的引用名如果一个类的成员函数print()不允许修改类的数据成员值,则应将其声明为(

)。

A:voidconstprint();

B:voidprint()const;

C:constvoidprint();D:voidprint(const);答案:voidprint()const;以下4个选项中,不能看作一条语句的是()。

A:if(b==0)m=1;n=2;B:a=0,b=0,c=0;C:if(a>0);D:{;}答案:a=0,b=0,c=0;以下关于函数模板叙述正确的是(

)。

A:函数模板也是一个具体类型的函数B:用函数模板定义的函数没有类型C:通过使用不同的类型参数,函数模板可以生成不同类型的函数D:函数模板的类型参数与函数的参数是同一个概念答案:通过使用不同的类型参数,函数模板可以生成不同类型的函数下列符号中,可以作为变量名的是(

)。

A:5e+0B:a3BC:12345eD:+a答案:a3B函数重载是指(

)。

A:两个以上的函数名字不同,但形参的个数或类型相同B:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同C:两个以上的函数取相同的函数名,并且函数的返回类型相同D:两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同在C++程序中,有关函数的叙述正确的有(

)。

A:函数的定义和调用均不可以嵌套B:函数的定义和调用均可以嵌套C:函数的定义不可以嵌套,但函数的调用可以嵌套D:函数的定义可以嵌套,但函数的调用不可以嵌套答案:函数的定义不可以嵌套,但函数的调用可以嵌套对赋值运算符进行重载时,应声明为(

)。

A:类的构造函数B:普通函数C:类的成员函数D:类的友元函数答案:成员能作为C++程序的基本单位是(

)。

A:源程序文件B:函数C:字符D:语句答案:函数关于getline()函数的下列描述中,(

)是错误的。

A:该函数读取的字符串长度是受限制的;B:该函数是用来从键盘上读取字符串;C:该函数中所使用的终止符只能是换行符;D:该函数读取字符串时,遇到终止符时便停止;答案:该函数中所使用的终止符只能是换行符;设有定义:intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(

)。

A:q=p;B:*q=2;C:p=1;D:*p=5;答案:*p=5一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是(

)。

A:有零个或多个输入B:有零个或多个输出C:有穷性D:可行性答案:可行性下面vector容器的定义不正确的是(

A:vectorv;

B:vectorv;

C:vectorv;D:vectorv(10);

答案:vectorv;以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(

)。

A:chart[]='abcdefg',*s=t;B:chars[10];s='abcdefg';C:chars[10]='abcdefg';D:chars[10];strcpy(s,'abcdefg');答案:char如果从原有类定义新类可以实现的是()。

A:数据封装B:数据抽象C:信息隐藏D:继承机制答案:继承机制当使用ifstream定义一个文件流,并将一个打开文件的文件与之连接,文件默认的打开方式为(

)。

A:ios::outB:ios::binaryC:ios::truncD:ios::in答案:ios::in关于静态成员的描述中,(

)是错误的。

A:静态数据成员初始化不使用其构造函数。B:静态成员可分为静态数据成员和静态成员函数。C:静态数据成员函数中不能直接引用非静态成员。D:静态数据成员定义后必须在类体内进行初始化。答案:静态数据成员定义后必须在类体内进行初始化关于类的静态成员函数描述错误的是(

)。

A:在创建对象前不存在B:不能说明为虚函数C:不是对象的成员D:不能直接访问非静态函数答案:在创建对象前不存在静态成员函数没有()。

A:返回类型B:this指针C:返回值D:指针参数答案:this(

)能正确输出结果:C++。

A:chars[3]={'C','+','+',''};cout<答案:chars[]=C++coutsendl;类模板Array的模板参数定义如下:template则下面哪个对象的定义是错误的?(

A:Arraya;

B:Arraya(10);C:Array<double,10>a;D:Arraya;

答案:Arraya;设int

a=12;则执行完语句a+=a*a;后,a的值是(

)。

A:288B:12C:144D:156答案:156运算符+、<=、=、%中,优先级最低的运算符是(

)。

A:+B:%C:<=D:=答案:=用关键字(

)标记的函数被称为虚函数。

A:virtualB:publicC:privateD:protected答案:virtual假设已经定义好了类student,现在要定义类derived,它是从student私有派生的,则定义类derived的正确写法是(

A:classderived:privatestudent{

//………….}B:classderived:publicstudent{

//………….}C:classderived:studentpublic{

//………….}D:classderived:studentprivate{

//………….}答案:classderived::privatestudent{//………….}C++对C语言作了许多改进,下列描述中(

)使C++语言成为面向对象的语言。

A:允许函数重载,并允许函数有默认参数B:引进了类和对象的概念C:规定函数说明必须用原型D:增加了一些新的运算符答案:引进了类和对象的概念若用数组名作为函数调用的实参,传递给形参的是(

)。

A:数组第一个元素的值B:数组的首地址C:数组中全部元素的值D:数组元素的个数答案:数组的首地址复合语句应用(

)括起来。

A:尖括号B:小括号C:大括号D:方括号答案:大括号如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为(

)。

A:operator++(a,1)

B:operator++(a)C:a.operator++()D:operator++(1)答案:a.operator++()C++语言本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream.h提供了基本结构。I/O操作分别由两个类istream和(

)。

A:iostreamB:iostream.hC:ostreamD:cin答案:ostream下列静态数据成员的特性中,(

)是错误的。

A:静态数据成员不是所有对象所共用的B:说明静态数据成员时前边要加修饰符staticC:引用静态数据成员时,要在其名称前加和作用域运算符D:静态数据成员要在类体外进行初始化答案:静态数据成员不是所有对象所共用的;下面的标识符中,(

)是文件级作用域。

A:语句标号B:函数形参C:自动类标识符D:外部静态类标识符答案:外部静态类标识符在C++语言程序中,做逻辑运算时判断操作数真、假的表述中,下列哪一个是正确的(

)。

A:0为假,非0为真B:0为真,非0为假C:1为假,1为真D:只有1为真答案:0为假,非0为真下列定义中,(

)是定义指向数组的指针p。

A:int(*p)[5]B:int*p[5]C:int*p[]D:(int*)p[5]答案:int(*p)[5]下列有关类的说法不正确的是(

)。

A:类与对象的关系和数据类型与变量的关系相似B:任何一个对象只能属于一个具体的类C:一个类只能有一个对象D:对象是类的一个实例答案:一个类只能有一个对象在哪种派生方式中,派生类可以访问基类中的protected成员(

)。

A:public和privateB:protected和privateC:仅protectedD:public和protected答案:public和protected下列不能作为类的成员的是(

)。

A:自身类对象的指针B:另一个类的对象C:自身类对象D:自身类对象的引用答案:自身类对象有以下程序#include

usingnamespacestd;intmain(){int

a,b,d=25;a=d/10%9;b=a-1;cout<A:6,1B:2,0C:2,1D:6,0答案:2,1设有intx=11,则表达式(x++*1/3)的值是(

)。

A:3B:4C:0D:11答案:3以下程序的运行结果是()。#includeusingnamespacestd;voidf(intx,inty){intt;if(xintmain(){inta=4,b=3,c=5;f(a,b);f(a,c);f(b,c);coutreturn0;}

A:5,4,3B:4,3,5C:3,4,5D:5,3,4答案:4,3,5若有以下定义,则说法错误的是(

)。inta=100,*p=&a;

A:变量p只可以指向一个整形变量B:声明变量p,其中*表示p是一个指针变量C:变量p的值为100D:变量p经初始化,获得变量a的地址答案:变量p的值为100以下程序代码的执行结果是(

)。intmain()

{

inti;

for(i='A';i<'I';i++,i++)

cout<A:acegiB:编译不通过,无输出C:acegD:abcdefgh答案:aceg类MyA的拷贝构造函数的原型是(

A:MyA(MyA&)B:MyA()

C:MyA(MyA*)D:MyA(MyA)答案:MyA(MyA)有以下程序#includeusingnamespacestd;intmain(){charstr[]='ChinaBeijing',*p=str;cout<A:ChinaB:ingC:BejingD:ng答案:ng以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是(

)。

A:x/y*zB:x/y/zC:x*(1/(y*z))D:x/y*1/z答案:x/y*z下列for循环的次数为(

)。for(inti(0),x=0;!x&&i<=5;i++)

A:1B:6C:5D:无限答案:5有以下程序#include

"iostream"usingnamespacestd;voidpoint(char*p){p+=3;}intmain(){charb[4]={'a','b','c','d'},*p=b;point(p);cout<<*p<A:dB:cC:bD:a答案:a有以下程序:#include

using

namespace

std;int

main(

){

int

i,s=0;

for(i=1;i<10;i+=2)

s+=i;cout<A:自然数1~9的累加和B:自然数1~10的累加和C:自然数1~10中的偶数之和D:自然数1~9中的奇数之和答案:9设有以下类的定义:#includeclassA{protected:inta;public:

A(inti=0){a=i;}

intGeta(){returna;}};classB:publicA{Aa1;Public:

//B类构造函数的定义voidShow()

{cout<A:B(inti=0,intj=0):A(i),a(j){}B:B(inti=0,intj=0):A(i),A(j){}C:可缺省D:

B(inti=0,intj=0):A(i){}答案:B(inti=0,intj=0):A(i),A(j){}能正确表示逻辑关系“a≥=10或a≤0”的C语言表达式是(

)。

A:a>=0|a<=10B:a>=10ora<=0C:a>=10&&a<=0D:a>=10‖a<=0答案:a=10若在创建一个对象时需动态申请存储空间,则应定义(

)以实现“深”拷贝。

A:拷贝构造函数B:析构函数C:构造函数D:重载函数答案:拷贝构造函数下列对派生类的描述中,(

)是错误的。

A:派生类中继承的基类成员的访问权限到派生类保持不变B:一个派生类可以作为另一个派生类的基类C:派生类的成员除了它自己的成员外,还包含了它的基类成员D:派生类至少有一个基类答案:派生类中继承的基类成员的访问权限到派生类保持不变下面的程序执行后的输出结果是(

)。#includeusingnamespacestd;intmain(){intk=1,t=0;switch(k){

case1:t+=10;

case2:t+=20;break;

default:t+=3;}cout<A:30B:20C:10D:23答案:30以下程序的运行结果是(

)。#include

温馨提示

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

评论

0/150

提交评论