西工大机考《面向对象程序设计c++》作业参考答案非免费.docx
《西工大机考《面向对象程序设计c++》作业参考答案非免费.docx》由会员分享,可在线阅读,更多相关《西工大机考《面向对象程序设计c++》作业参考答案非免费.docx(13页珍藏版)》请在冰豆网上搜索。
西工大机考《面向对象程序设计c++》作业参考答案非免费
西工大2021年4月机考《面向对象程序设计c++》作业
试卷总分:
100得分:
100
答案 网叫福到(这四个字的拼音)
一、单选题(共50道试题,共100分)
1.继承具有()即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
A.规律性
B.传递性
C.重复性
D.多样性
正确答案:
B
2.关于getline()函数的下列描述中,()是错误的。
A.该函数是用来从键盘上读取字符串
B.该函数读取的字符串长度是受限制的
C.该函数读取字符串时,遇到终止符时便停止
D.该函数所使用的默认终止符是换行符
3.()不是构造函数的特征。
A.构造函数的函数名和类名相同
B.构造函数可以重载
C.构造函数可以设置默认参数
D.构造函数必须指定函数类型说明
4.catch(……)一般放在其他catch子句的后面,该子句()。
A.抛掷异常
B.捕获所有类型的异常
C.检测并处理异常
D.有语法错误
5.在C++中,打开一个文件就是将这个文件与一个()建立关联;关闭一个文件就是取消这种关联。
A.类
B.流
C.对象
D.结构
6.公有成员提供了类对外部的界面,私有成员只能被类的成员访问,而()不允许外界访问,但允许派生类的访问,这样既有一定的隐藏能力,有提供了开放的界面
A.公有成员
B.私有成员
C.私有成员函数
D.保护成员
7.已知一个类Sample,()是定义指向类Sample成员函数的指针,假设类有3个公有成员:
voidf1(int),voidf2(int),inta。
A.Sample*p
B.intSample:
:
*pc=&Sample:
:
a
C.void(Sample:
:
*pa)(int)
D.Sample*a[10]
8.有关类和对象的说法错误的是()。
A.对象是类的一个实例
B.任何一个对象只能属于一个具体的类
C.一个类只能有一个对象
D.类与对象的关系和数据和变量的关系相似
9.若Sample类中的一个成员函数说明如下:
A.指向类Sample的名为a的指针
B.a是类Sample的对象引用,用来作函数Set()的形参
C.将a的地址赋给变量Set
D.变量Sample与a按位与的结果作为函数Set的参数
10.()是析构函数的特征。
A.一次类中只能定义一个析构函数
B.析构函数名与类名不同
C.析构函数的定义只能在类体内
D.析构函数可以有一个或多个参数
11.已知inta,*pa=&a;输出指针pa十进制的地址值的方法是()。
A.cout<B.cout<<*pa
C.cout<<&pa;
D.cout<
12.在C++中把不返回任何类型的函数应该说明为()。
A.int
B.char
C.void
D.double
13.友元运算符obj1>obj2被C++编译器解释为()。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.obj2.operator>(obj1)
D.obj1.operator>(obj2)
14.在C++中,函数原型不能标识()。
A.函数的返回类型
B.函数参数的个数
C.函数参数类型
D.函数的功能
15.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性的规则()。
A.完全相同
B.完全不同
C.部分相同,部分不同
D.以上全不对
16.有关构造函数的说法错误的是()。
A.构造函数的名字和类的名字一样
B.构造函数在说明类变量时自动执行
C.构造函数无任何函数类型
D.构造函数有且只有一个
17.有关析构函数的说法错误的是()。
A.析构函数有且只有一个
B.析构函数无任何函数类型
C.析构函数和析构函数一样可以有形参
D.析构函数的作用是在对象被撤销时收回先前分配的内存空间
18.关于虚函数的描述中,()是正确的。
A.虚函数是一个Static类型的成员函数
B.虚函数是一个非成员函数
C.基类中说明了虚函数后,派生类中其对应的函数可不必说明虚函数
D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型
19.在成员函数中进行双目运算符重载时,其参数表中应带有()个参数。
A.0
B.1
C.2
D.3
20.关于成员函数特征的下述描述中,()是错误的。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
21.如果一个类至少有一个虚函数,那么就称该类为()。
A.抽象类
B.虚基类
C.派生类
D.以上都不对
22.C++语言本身没有定义I/O操作,但I/O操作包含在C++实现中。
C++标准库iostream提供了基本的I/O类。
I/O操作分别由两个类istream和ostream提供,由他们派生出一个类(),提供双向的I/O操作。
使用I/O流的程序需要包含iostream.h。
A.iostream
B.iostream.h
C.ostream
D.cin
23.有关类的说法错误的是()。
A.类是一种用户自定义的数据类型
B.只有类的成员函数才能存取类中的私有数据
C.只类中,如果不作特别说明,所指的数据均为私有数据
D.只类中,如果不作特别说明,所指的成员函数均为公有类型
24.进行文件操作时需要包含()文件。
A.istream.h
B.fstream.h
C.stdio.h
D.stdlib.h
25.下面函数模板定义中不正确的是()。
A.template
B.template
C.template
D.template
26.下面运算符中,不能被重载的运算符是()。
A.<=
B.-
C.?
:
D.[]
27.下列说法错误的是()。
A.如果try块中没有抛出异常,则try块执行完后忽略该try块的异常处理器catch块,程序在最后一个catch块后恢复执行。
B.如果在try块以外抛出异常,程序将被终止。
C.try块抛出异常后,从对应的try块开始到异常被抛出之间所构造的所有自动对象将被析构。
D.抛出异常和异常处理必须放在同一个函数中。
28.使用如setw()的操作符对数据进行格式输出时,应包含()文件。
A.iostream.h
B.fstream.h
C.iomainp.h
D.stdlib.h
29.下列运算符中,()运算符在C++中不能重载。
A.&&
B.[]
C.:
:
D.new
30.与C语言printf("Hello,World\n");语句功能相同的C++语句是()。
A.cout>>"Hello,World\n"
B.cout<<"Hello,World\n"
C.cin>>"Hello,World\n"
D.cin<<"Hello,World\n"
31.关于虚函数和抽象类的描述中,()是错误的。
A.纯虚函数是一种特殊的虚函数,它没有具体的定义
B.抽象类是指具有纯虚函数的类
C.一个基类中说明有纯虚函数,该基类的派生类一定不在是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出
32.派生可以分为公有派生、私有派生。
由私有派生得到的派生类,其基类的所以成员都只能成为它的私有成员,这些私有成员只能被派生类的成员函数访问,而通过()无权访问它;公有派生的意义是基类中所有成员在派生;类中也有都是公有的。
A.公有派生
B.派生类的对象
C.私有派生
D.派生类的构造函数
33.下述静态数据成员的特征中,()是错误的。
A.说明静态数据成员时前边要加修饰符static
B.静态数据成员要在类体外进行初始化
C.引用静态成员时,要在静态数据成员名前加“类名”和作用域运算符
D.静态数据成员不是所有对象所共用的
34.下列运算符中,()运算符在C++中不能重载。
A.?
:
B.+
C._
D.<=
35.C++中的类有两种用法:
一种是类的实例话,即生成类的对象,并参与系统的运行;另一种是通过()派生出新的类。
A.复用
B.继承
C.单继承
D.多继承
36.下列关于运算符重载的描述中,()是正确的。
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变运算符的优先级
C.运算符重载可以改变结合性
D.运算符重载不可以改变语法结构
37.下列输出字符’A’的方法中,()是错误的。
A.cout<B.cout<<’A’
C.cout.put(‘A’)
D.charA=’A’;cout<
38.关于动态联编的下列描述中,()是错误的。
A.动态联编是以虚函数为基础的
B.动态联编是在运行时确定所调用的函数代码的
C.动态联编用调用函数操作是指向对象的指针或对象的引用
D.动态联编是在编译时确定执行函数的
39.关于read()函数的下列描述中,()是对的。
A.该函数是用来从键盘输入中获取字符串
B.该函数所获得的字符的多少是不受限制的
C.该函数只能用于文本文件的操作
D.该函数只能按规定读取所指定的字符数
40.基类的()不能为派生类的成员访问,基类的公有成员在派生类中的性质和继承的性质一样,而基类的保护成员在私有继承时在派生类中成为私有成员,在公有和保护继承时在派生类中仍为保护成员
A.公有成员
B.私有成员
C.私有成员函数
D.保护成员
41.文件的I/O由ifstream.h、ofstream、fstream三个类提供。
istream.h是istream的派生类,处理文件输入;ofstream是ostream的派生类,处理文件输出;fstream是ostream的派生类,可以同时处理文件的I/O,使用I/O类的程序需要包含头文件()。
A.istream.h
B.fstream.h
C.ifstream.h
D.istrstream
42.cin是istream的一个对象,用于处理标准输入。
cout、cerr和clog是()的对象,cout处理标准输出,cerr和clog都处理标准出错信息,只是cerr输出不带缓冲,clog输出带缓冲。
A.istream
B.ostream
C.cerr
D.clog
43.实现运行时的多态要使用()。
A.重载函数
B.构造函数
C.析构函数
D.虚函数
44.在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是()。
A.该运算符是一个单目运算符
B.该运算符函数有一个隐含的参数this
C.该运算符函数是类的成员函数
D.该运算符函数是类的友元函数
45.对虚函数的调用()。
A.一定使用动态联编
B.必须使用动态联编
C.一定使用静态联编
D.不一定使用动态联编
46.一个函数功能不太复杂,但要求被频繁调用,选用()。
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数
47.通常的拷贝初始化构造函数的参数是()。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
48.已知P是一个指向Sample数据成员m的指针,s是类Sample的一个对象。
如果要给m赋值为5,()是正确的。
A.s.p=5
B.s->p=5
C.s.*p=5
D.*s.p=5
49.C++中用三个保留字实现异常的处理,除了try和catch外,还有()。
A.if
B.class
C.throw
D.return
50.已知f1(int)是类A的公有成员函数,p是指向成员函数f1的指针,采用赋值()是正确的。
A.p=f1
B.p=A:
:
f1
C.p=A:
:
f1()
D.p=f1()
二、多选题(共0道试题,共0分)
以下内容仅供学习参考,可不予理会
一、单选题(共50道试题,共100分)
1.()不是构造函数的特征。
A.构造函数的函数名和类名相同
B.构造函数可以重载
C.构造函数可以设置默认参数
D.构造函数必须指定函数类型说明
正确答案:
2.关于read()函数的下列描述中,()是对的。
A.该函数是用来从键盘输入中获取字符串
B.该函数所获得的字符的多少是不受限制的
C.该函数只能用于文本文件的操作
D.该函数只能按规定读取所指定的字符数
正确答案:
3.在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是()。
A.该运算符是一个单目运算符
B.该运算符函数有一个隐含的参数this
C.该运算符函数是类的成员函数
D.该运算符函数是类的友元函数
正确答案:
4.一个函数功能不太复杂,但要求被频繁调用,选用()。
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数
正确答案:
5.下述静态数据成员的特征中,()是错误的。
A.说明静态数据成员时前边要加修饰符static
B.静态数据成员要在类体外进行初始化
C.引用静态成员时,要在静态数据成员名前加“类名”和作用域运算符
D.静态数据成员不是所有对象所共用的
正确答案: