东北师范C++程序设计16秋在线作业1.docx
《东北师范C++程序设计16秋在线作业1.docx》由会员分享,可在线阅读,更多相关《东北师范C++程序设计16秋在线作业1.docx(46页珍藏版)》请在冰点文库上搜索。
东北师范C++程序设计16秋在线作业1
++程序设计16秋在线作业1
一、单选题(共20道试题,共60分。
)
1.++中引入友元的作用是()。
.提高程序的运用效率
.加强类的封装性
.实现数据的隐藏性
.增加成员函数的种类
正确答案:
2.说明一个成员为静态成员的关键字为()。
.stti
.xtrn
.inlin
.frin
正确答案:
3.假定一个类的构造函数为“(int,int):
(x),(x){}”,则执行“x(6,5);y(3,2);”语句序列后,x.的值为()。
.2
.3
.5
.6
正确答案:
4.下列不是文件流类的是()。
.ifstrm
.iostrm
.fstrm
.ofstrm
正确答案:
5.在声明类时,下面的说法正确的是()。
.可以在类的声明中给数据成员赋初值
.数据成员的数据类型可以是rgistr
.privt、puli、prott可以按任意顺序出现
.没有用privt、puli、prott定义的数据成员是公有成员
正确答案:
6.++利用()实现面向对象程序设计的封装性。
.构造数据类型—类
.构造数据类型—枚举
.类的派生机制
.函数重载与运算符重载
正确答案:
7.析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
.puli
.privt
.prott
.stti
正确答案:
8.定义类模板时要使用关键字()。
.onst
.nw
.lt
.tmplt
正确答案:
9.要想以读方式打开文件“:
\Fil.txt”,以下不能实现目的的语句是()。
.ifstrminf(":
\\Filtxt",ios:
:
in);
.ifstrminf(":
\\Fil.txt");
.ofstrminf(":
\\Fil.txt",ios:
:
out);
.fstrminf(":
\\Fil.txt",ios:
:
in|ios:
:
out);
正确答案:
10.在下列关键字中,用于说明类中公有成员的是()。
.puli
.privt
.prott
.frin
正确答案:
11.假设定义了一个具有构造函数的ook类,构造函数只有一个非默认的整型参数,则下列的类型转换错误的是()。
.ook(12)
.(ook20);
.ookx=2;
.ookx=ook
(2);
正确答案:
12.以下基类中的成员函数中表示纯虚函数的是()。
.virtulvoivf(int);
.virtulvoivf(int)=0;
.virtulvoivf(int=0);
.virtulvoivf(int){};
正确答案:
13.下列语句中错误的是()。
.int*p=nwint(10);
.int*p=nwint[10];
.int*p=nwint;
.int*p=nwint[40](0);
正确答案:
14.下列()的调用方式是引用调用。
.形参是引用,实参是变量
.形参和实参都是变量
.形参是变量,实参是地址值
.形参是指针,实参是地址值
正确答案:
15.派生类的对象对它的基类成员中什么是可访问的()?
.公有继承的公有成员
.公有继承的私有成员
.公有继承的保护成员
.私有继承的公有成员
正确答案:
16.类中定义的成员默认为()访问属性。
.puli
.privt
.prott
.frin
正确答案:
17.下列关于动态联编的描述中,错误的是()。
.动态联编是以虚函数为基础的
.动态联编是在运行时确定所调用的函数代码的
.动态联编需要用指向对象对象的指针或引用来调用需函数
.动态联编是在编译时确定操作函数的
正确答案:
18.假定lss为一个类,为该类公有的数据成员,px为指向该类对象的指针,则访问px所指对象中数据成员的格式为()。
.px()
.px[]
.px->
.px.
正确答案:
19.()是给对象取一个别名,它引入了对象的同一词。
.指针
.引用
.枚举
.结构
正确答案:
20.下列格式控制符中不是定义于iostrm.h中的是()。
.nl
.hx
.flush
.stw
正确答案:
++程序设计16秋在线作业1
二、判断题(共20道试题,共40分。
)
1.在默认参数函数的原型中,所有取缺省值的参数都必须出现在不取缺省值的参数的右边。
.错误
.正确
正确答案:
2.基类的公有成员在派生类中的访问权限由派生方式决定。
.错误
.正确
正确答案:
3.类继承类,则称为的基类,称为的派生类。
.错误
.正确
正确答案:
4.ostrstrm是向字符数组的输出流,istrstrm是从字符数组的输入流。
.错误
.正确
正确答案:
5.赋值号两边的数据类型不一致时,将无法进行赋值运算。
.错误
.正确
正确答案:
6.类中成员的默认访问属性为私有,结构中成员的默认访问属性为公有。
.错误
.正确
正确答案:
7.类中重载提取运算符“>>”和插入运算符“<<”时只能用友元函数而不能用成员函数的形式。
.错误
.正确
正确答案:
8.构造函数和析构函数都不能带参数。
.错误
.正确
正确答案:
9.原型说明中没有指出返回类型的函数(包括主函数min),++默认该函数的返回类型是voi
.错误
.正确
正确答案:
10.说明或定义对象时,类名前不需加lss关键字。
.错误
.正确
正确答案:
11.静态成员函数与在一般的成员函数一样,都隐含有一个this指针。
.错误
.正确
正确答案:
12.对于类中的对象成员既可以在构造函数的初始化列表中初始化也可以在构造函数体中初始化。
.错误
.正确
正确答案:
13.++的变量声明非常灵活,它允许变量声明与可执行语句在程序中交替出现。
.错误
.正确
正确答案:
14.常类型是指使用类型修饰符onst说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。
.错误
.正确
正确答案:
15.++是一种纯粹的面向对象程序设计语言。
.错误
.正确
正确答案:
16.out是I/O流库中预定义的输出流对象,in是输入流对象。
.错误
.正确
正确答案:
17.若有声明:
lss:
virtulpuli{};则类为类的虚基类。
.错误
.正确
正确答案:
18.静态数据成员是类中所有对象共享的,可以通过类的对象访问。
.错误
.正确
正确答案:
19.在文件操作结束时,可以用los()成员函数关闭该文件。
.错误
.正确
正确答案:
20.如果一个类至少有一个纯虚函数,那么该类就被称为抽象类。
.错误
.正确
正确答案:
++程序设计16秋在线作业1
一、单选题(共20道试题,共60分。
)
1.在下面有关友元函数的描述中,正确的说法是()。
.友元函数是独立于当前类的外部函数
.一个友元函数不能同时定义为两个类的友元函数
.友元函数必须在类的外部定义
.在外部定义友元函数时,必须加关键字frin
正确答案:
2.下面对静态数据成员的描述中,正确的是()。
.静态数据成员可以在类体内进行初始化
.静态数据成员不可以被类的对象调用
.静态数据成员不能受privt控制符的作用
.静态数据成员可以直接用类名调用
正确答案:
3.重载赋值操作符时,应声明为()函数。
.友元
.虚
.成员
.多态
正确答案:
4.析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
.puli
.privt
.prott
.stti
正确答案:
5.++利用()实现面向对象程序设计的多态性。
.类的派生机制
.构造数据类型—类
.构造数据类型—枚举
.函数重载或运算符重载
正确答案:
6.下列格式控制符中不是定义于iostrm.h中的是()。
.nl
.hx
.flush
.stw
正确答案:
7.在声明类时,下面的说法正确的是()。
.可以在类的声明中给数据成员赋初值
.数据成员的数据类型可以是rgistr
.privt、puli、prott可以按任意顺序出现
.没有用privt、puli、prott定义的数据成员是公有成员
正确答案:
8.当将一个函数f()说明为另一个类的友元后,函数f()能够直接访问类的()。
.只能是公有成员
.只能是保护成员
.只能是除私有成员之外的任何成员
.具有任何权限的成员
正确答案:
9.()不是构造函数的特征。
.构造函数的函数名与类名相同
.构造函数可以重载
.构造函数可以设置缺省参数
.构造函数必须指定类型说明
正确答案:
10.下列关于纯虚函数的描述中,正确的是()。
.纯虚函数是一种特殊的虚函数,它是个空函数
.具有纯虚函数的类称为虚基类
.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数
.具有纯虚函数的类不能创建类对象
正确答案:
11.假定指针变量p定义“int*p=nwint(100);”,要释放p所指向的动态内存,应使用语句()。
.lt*p;
.lt&p;
.ltp;
.lt[]p;
正确答案:
12.静态成员函数仅能访问()。
.静态的数据成员
.非静态的成员函数
.非静态的数据成员
.以上都不对
正确答案:
13.下列各种高级语言中,不是面向对象的程序设计语言的是()。
.++
.Jv
.V
.
正确答案:
14.假设已经有定义onsthr*onstnm="hn";下面的语句中正确的是()。
.nm[3]='';
.nm="lin";
.nm=nwhr[5];
.out<正确答案:
15.下列类中()不是输入流类istrm的派生类。
.ifstrm
.istrstrm
.iostrm
.ofstrm
正确答案:
16.在磁盘文件操作中,以追加方式打开磁盘文件时,其mo值为()。
.in
.pp
.out
.t
正确答案:
17.假定一个类的构造函数为“(int,int):
(x),(x){}”,则执行“x(6,5);y(3,2);”语句序列后,x.的值为()。
.2
.3
.5
.6
正确答案:
18.如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,则采用运算符函数调用格式,该表达式还可以表示为()。
.x.oprtor++(0).oprtor*(y)
.oprtor*(x.oprtor++(0),y)
.oprtor*(oprtor++(x,0),y)
.y.oprtor*(oprtor++(x,0))
正确答案:
19.将客观实体的特征与行为作为不可分割的整体进行程序设计的方法称为()程序设计。
.面向应用
.面向过程
.面向对象
.面向系统
正确答案:
20.下面选项中,()是用来声明虚函数的。
.virtul
.voi
.stti
.inlin
正确答案:
++程序设计16秋在线作业1
二、判断题(共20道试题,共40分。
)
1.使用in和out进行输入和输出操作必须包含头文件iostrm.h
.错误
.正确
正确答案:
2.gt()和put()函数的功能是一次读写一个字符,而r()和writ()函数是一次读写一个数据块。
.错误
.正确
正确答案:
3.++不允许定义有默认参数的函数。
.错误
.正确
正确答案:
4.++对由onst修饰符定义的常量进行严格的类型检查,但对用fin定义的常量则不进行类型检查。
.错误
.正确
正确答案:
5.类继承类,则称为的派生类,称为的基类。
.错误
.正确
正确答案:
6.当类中有指针类型数据成员时,需重载赋值运算符,否则会产生指针悬挂问题。
.错误
.正确
正确答案:
7.常量和引用在声明时必须初始化。
.错误
.正确
正确答案:
8.ifstrm是用于读文件的文件流。
.错误
.正确
正确答案:
9.基类的公有成员在派生类中的访问权限由派生方式决定。
.错误
.正确
正确答案:
10.函数重载与运算符重载都是编译时的多态。
.错误
.正确
正确答案:
11.为了在派生类中使用基类的同名成员,必须在该成员名之前加上基类名和作用域标识符
.错误
.正确
正确答案:
12.文本文件结束标志为OF(即-1)。
.错误
.正确
正确答案:
13.ofstrm是用于写文件的文件流。
.错误
.正确
正确答案:
14.++利用类的派生机制实现面向对象程序设计的继承性。
.错误
.正确
正确答案:
15.类中成员的默认访问属性为公有,结构中成员的默认访问属性为私有。
.错误
.正确
正确答案:
16.++利用函数重载实现面向对象程序设计的多态性。
.错误
.正确
正确答案:
17.若有声明:
lss:
puli,{};则类公有继承自类及类。
.错误
.正确
正确答案:
18.当基类的构造函数没有参数,或没有显式定义构造函数时,派生类可以不定义构造函数。
.错误
.正确
正确答案:
19.ios类中的格式化输入输出成员函数必须由输入输出流对象来调用。
.错误
.正确
正确答案:
20.操纵符函数stw(n)只对下一个输出有效。
.错误
.正确
正确答案:
++程序设计16秋在线作业1
一、单选题(共20道试题,共60分。
)
1.下面的类型声明中正确的是()。
.int&[4];
.int&*p;
.int&&q;
.intI,*pp=&I;
正确答案:
2.#inlu lssS{ hr; puli:
S(hrn):
(n){} virtul~S(){out<<;} }; lssRIV:
puliS{ hr; puli:
RIV(hrn):
S(n+1),(n){} ~RIV(){out
.XY
.YX
.X
.Y
正确答案:
3.下列关于动态联编的描述中,错误的是()。
.动态联编是以虚函数为基础的
.动态联编是在运行时确定所调用的函数代码的
.动态联编需要用指向对象对象的指针或引用来调用需函数
.动态联编是在编译时确定操作函数的
正确答案:
4.若已定义了prson类,则执行语句"prsonp1=p2;"将调用p1的()。
.构造函数
.拷贝构造函数
.析构函数
.赋值运算符重载函数
正确答案:
5.静态数据成员的初始化必须在()。
.类内
.类外
.构造函数内
.静态成员函数内
正确答案:
6.下列对模板的声明错误的是()。
.tmplt
.tmplt
.tmplt
.tmplt
正确答案:
7.在下面有关友元函数的描述中,正确的说法是()。
.友元函数是独立于当前类的外部函数
.一个友元函数不能同时定义为两个类的友元函数
.友元函数必须在类的外部定义
.在外部定义友元函数时,必须加关键字frin
正确答案:
8.假定lss为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。
.x.f
.x.f()
.x->f
.x->f()
正确答案:
9.gt()函数的功能是从输入流中读取()。
.一个字符
.当前字符
.一行字符
.指定若干个字符
正确答案:
10.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。
.派生类的对象可以赋给基类的对象
.派生类的对象可以初始化基类的引用
.指向派生类对象的基类指针可以直接访问派生类中的成员
.派生类的对象的地址可以赋给指向基类的指针
正确答案:
11.下列不是文件流类的是()。
.ifstrm
.iostrm
.fstrm
.ofstrm
正确答案:
12.对于一个类,可以利用关键字()将其他类声明为该类的友元。
.puli
.privt
.prott
.frin
正确答案:
13.假定变量x定义为“intx=8;”,要使rx成为x的引用(别名),rx应定义为()。
.intrx=x;
.intrx=&x;
.int*rx=&x;
.int&rx=x;
正确答案:
14.建立包含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为()的构造函数。
.基类、自己所属类、对象成员所属类
.对象成员所属类、基类、自己所属类
.自己所属类、对象成员所属类、基类
.基类、对象成员所属类、自己所属类
正确答案:
15.以下基类中的成员函数中表示纯虚函数的是()。
.virtulvoivf(int);
.virtulvoivf(int)=0;
.virtulvoivf(int=0);
.virtulvoivf(int){};
正确答案:
16.当将一个函数f()说明为另一个类的友元后,函数f()能够直接访问类的()。
.只能是公有成员
.只能是保护成员
.只能是除私有成员之外的任何成员
.具有任何权限的成员
正确答案:
17.已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()。
.f1和f2都是静态函数
.f1是静态函数,f2不是静态函数
.f1不是静态函数,f2是静态函数
.f1和f2都不是静态函数
正确答案:
18.语句ofstrmf(“SLRY.T”,ios:
:
pp|ios:
:
inry);的功能是建立流对象f,试图打开文件SLRY.T并与之连接,并且()。
.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
.若文件存在,将其置为空文件;若文件不存在,打开失败
.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
.若文件存在,打开失败;若文件不存在,建立一个新文件
正确答案:
19.打开一个文件,就是将这个文件与一个()建立关联。
.类
.流
.对象
.设备
正确答案:
20.当使用ifstrm流类定义一个流对象并打开一个磁盘文件时,隐含的打开方式为()。
.ios:
:
in
.ios:
:
out
.ios:
:
in|ios:
:
out
.ios:
:
inry
正确答案:
++程序设计16秋在线作业1
二、判断题(共20道试题,共40分。
)
1.一个类的友元一定是另一个类的成员函数。
.错误
.正确
正确答案:
2.静态的成员函数没有隐含的this指针,所以它们只能访问静态的数据成员。
.错误
.正确
正确答案:
3.常成员函数不能更新对象的数据成员,也不能调用该类中的普通成员函数。
.错误
.正确
正确答案:
4.在类定义体内,只有具有puli访问属性的成员间可以相互访问。
.错误
.正确
正确答案:
5.类中重载提取运算符“>>”和插入运算符“<<”时只能用成员函数而不能用友元函数的形式。
.错误
.正确
正确答案:
6.在类定义体内,各种访问属性的成员间可以相互访问。
.错误
.正确
正确答案:
7.类是一组对象的抽象,而对象则是类的一个实例。
.错误
.正确
正确答案:
8.多态性是指相同的对象收到不同的消息时产生多种不同的行为方式。
.错误
.正确
正确答案:
9.基类的公有成员在派生类中的访问权限由派生方式决定。
.错误
.正确
正确答案:
10.重载函数是基于不同的数据类型完成类似的操作,而函数模板则是对不同的数据类型完成相同的操作。
.错误
.正确
正确答案:
11.类继承类,则称为的派生类,称为的基类。
.错误
.正确
正确答案:
12.++标准库中的输入输出格式操作符(函数)必须由输入输出流对象来调用。
.错误
.正确
正确答案:
13.++利用类来实现面向对象程序设计的继承性。
.错误
.正确
正确答案:
14.公有继承方式下,基类成员的访问权限在派生类中保持不变。
.错误
.正确
正确答案:
15.out是I/O流库中预定义的输出流对象,in是输入流对象。
.错误
.正确
正确答案:
16.操纵符函数stw(n)只对下一个输出有效。
.错误
.正确
正确答案:
17.为了在派生类中使用基类的同名成员,必须在该成员名之前加上基类名和作用域标识符
.错误
.正确
正确答案:
18.操纵符hx、ot、只对下一个输出有效。
.错误
.正确
正确答案:
19.++对由onst修饰符定义的常量进行严格的类型检查,但对用fin定义的常量则不进行类型检查。
.错误
.正确
正确答案:
20.常量和引用在声明时必须初始化。
.错误
.正确
正确答案:
++程序设计16秋在线作业1
一、单选题(共20道试题,共60分。
)
1.析构函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
.puli
.privt
.prott
.stti
正确答案:
2.当将一个类说明为另一个类的友元后,类能够直接访问类的()。
.只能是公有成员
.只能是保护成员
.只能是除私有成员之外的任何成员
.具有任何权限的成员
正确答案:
3.类的析构函数是在()被调用的。
.类创建时
.创建对象时
.删除对象时
.不自动调用
正确答案:
4.类My的拷贝初始化构造函数是()。
.My()
.My(My*)
.My(My&)
.My(My)
正确答案:
5.下列关于动态联编的描述中,错误的是()。
.动态联编是以虚函数为基础的
.动态联编是在运行时确定所调用的函数代码的
.动态联编需要用指向