八一学院《面向对象程序设计(本)》形成性考核答案
国开八一学院公众号【八一学习俱乐部】专科、本科形考答案题库,由往年期末考试试题和单元自测题随机组卷构成,通过反复刷题,能够帮助大家快速掌握题目中的知识点。大家多看考前练习题,可以检验自己对知识的掌握程度,还能提高形考和期末考的通过几率。
▲形考代做、期末试卷答案联系微信:xingkao100 搜答案方法:电脑端按「Ctrl+F」、手机端用「页面查找」功能输入关键词查找。八一学院《面向对象程序设计(本)》形成性考核答案
形考任务随机题目,按Ctrl+F,输入题目关键词查找。
1.[单选题]以下叙述中不正确的是( )。
A.在一个函数中,可以有多条return语句
B.函数的定义不能嵌套,但函数的调用可以嵌套
C.函数必须有返回值
D.不同的函数中可以使用相同名字的变量
正确答案是:
2.[单选题]关于封装,下列说法中不正确的是( )。
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体
B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C.通过封装,每个对象都成为相对独立的实体
D.通过封装,对象的属性都是不可见的
正确答案是:
3.[单选题]静态数据成员的初始化是在( )中进行的。
A.构造函数
B.任何成员函数
C.所属类
D.全局区
正确答案是:
4.[单选题]下列说法正确的是( )。
A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C.类的内联函数必须在类体内定义
D.类的内联函数必须在类体外通过加关键字inline定义
正确答案是:
5.[单选题]在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的对象的地址可以赋给指向基类的指针
正确答案是:
6.[单选题]一个类的构造函数通常被定义为该类的( )成员。
A.公用
B.保护
C.私有
D.友元
正确答案是:
7.[单选题]假定AB为一个类,则执行 “AB *px=new AB[n];”语句时调用该类无参构造函数的次数为(( )。
A.n
B.n-1
C.1
D.0
正确答案是:
8.[单选题]假定AB为一个类,则执行 “AB *s=new AB(a,5);”语句时得到的一个动态对象为( )。
A.s
B.s->a
C.s.a
D.*s
正确答案是:
9.[单选题]一个类的静态数据成员所表示属性 ( )。
A.是类的或对象的属性
B.只是对象的属性
C.只是类的属性
D.类和友元的属性
正确答案是:
10.[单选题]假定一个类的构造函数为 “A(int aa=1, int bb=0) {a=aa; b=bb;}”,则执行 “A x(4);”语句后,x.a和x.b的值分别为( )。
A.1和0
B.1和4
C.4和1
D.4和0
正确答案是:
11.[单选题]以下正确的函数原型语句是( )。
A.double fun(int x,int y)
B.double fun(int x;int y)
C.double fun(int,int);
D.double fun(int x,y);
正确答案是:
12.[单选题]以下说法中正确的是( )。
A.C++程序总是从第一个定义的函数开始执行
B.C++程序总是从main函数开始执行
C.C++函数必须有返回值,否则不能使用函数
D.C++程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案是:
13.[单选题]在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( )。
A.该运算符是一个单目运算符。
B.该运算符函数有一个隐含的参数this。
C.该运算符函数是类的成员函数。
D.该运算符函数是类的友元函数。
正确答案是:
14.[单选题]关于静态数据成员的描述中正确的是( )。
A.类的静态数据成员不是类的所有对象共享的数据
B.类的静态数据成员不能被类的成员函数调用
C.类的静态数据成员不能被类的构造函数调用
D.类的静态数据成员必须进行初始化
正确答案是:
15.[单选题]设px是指向一个类对象的指针变量,则执行 “delete px;”语句时,将自动调用该类的( )。
A.无参构造函数
B.带参构造函数
C.析构函数
D.拷贝构造函数
正确答案是:
16.[单选题]面向对象软件开发中使用的OOD表示( )。
A.面向对象分析
B.面向对象设计
C.面向对象语言
D.面向对象方法
正确答案是:
17.[单选题]关于成员函数特征的下述描述中,( )是错误的。
A.成员函数一定是内置函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
正确答案是:
18.[单选题]一个类的析构函数通常被定义为该类的( )成员。
A.私有
B.保护
C.公用
D.友元
正确答案是:
19.[单选题]类的析构函数的作用是( )。
A.一般成员函数的初始化
B.类的初始化
C.对象的初始化
D.删除类创建的对象
正确答案是:
20.[单选题]对类中引用成员的初始化是通过构造函数中给出的( )实现的。
A.函数体
B.参数表
C.初始化表
D.初始化表或函数体
正确答案是:
21.[单选题]下列运算符中,在C++语言中不能重载的是( )。
A.*
B.>=
C.::
D./
正确答案是:
22.[单选题]C++中函数返回值的类型是由( )决定的。
A.return语句中表达式的类型
B.该函数定义时的类型
C.调用函数时的调用语句
D.系统根据结果
正确答案是:
23.[单选题]类的构造函数是在定义该类的一个( )时被自动调用执行的。
A.成员函数
B.数据成员
C.对象
D.友元函数
正确答案是:
24.[单选题]声明一个类的对象时,系统自动调用一个函数;撤消对象时,系统自动调用一个函数;该函数为( )。
A.成员函数;构造函数
B.复制构造函数;析构函数
C.构造函数;析构函数
D.析构函数;复制构造函数
正确答案是:
25.[单选题]从一个基类派生出的各个类的对象之间( )。
A.共享所有数据成员,每个对象还包含基类的所有属性
B.共享部分数据成员,每个对象还包含基类的所有属性
C.不共享任何数据成员,但每个对象还包含基类的所有属性
D.共享部分数据成员和函数成员
正确答案是:
26.[单选题]设置虚基类的目的是( )。
A.简化程序
B.消除二义性
C.提高运行效率
D.减少目标代码
正确答案是:
27.[单选题]面向对象方法的多态性是指( )。
A.一个类可以派生出多个特殊类
B.一个对象在不同的运行环境中可以有不同的变体
C.针对一消息,不同的对象可以以适合自身的方式加以响应
D.一个对象可以是由多个其他对象组合而成的
正确答案是:
28.[单选题]下面对静态数据成员的描述中,正确的是( )。
A.静态数据成员可以在类体内进行初始化
B.静态数据成员不可以被类的对象调用
C.静态数据成员不能受private控制符的作用
D.静态数据成员可以直接用类名调用
正确答案是:
29.[单选题]有如下程序: #include using namespace std; class ONE{ int c; public: ONE():c(0){cout<<1;} ONE(int n):c(n){cout<<2;} }; class TWO{ ONE onel; ONE one2; public: TWO(int m):one2(m){cout<<3;} }; int main(){ TWO t4() return 0 } 运行时的输出结果是( )。
A.3
B.23
C.123
D.213
正确答案是:
30.[单选题]以下关于函数模板叙述正确的是( )。
A.函数模板也是一个具体类型的函数
B.函数模板的类型参数与函数的参数是同一个概念
C.通过使用不同的类型参数,函数模板可以生成不同类型的函数
D.用函数模板定义的函数没有类型
正确答案是:
31.[单选题]下列关于this指针的叙述中,正确的是( )。
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针
正确答案是:
32.[单选题]假定AB为一个类,则执行 “AB a, b(3), *p;”语句时共调用该类构造函数的次数为( )。
A.2
B.3
C.4
D.5
正确答案是:
33.[单选题]下列的各类函数中,( )不是类的成员函数。
A.构造函数
B.析构函数
C.友元函数
D.拷贝构造函数
正确答案是:
34.[单选题]假定一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) {}”,执行 “B x(1,2),y(3,4);x=y;”语句序列后x.a的值为( )。
A.1
B.2
C.3
D.4
正确答案是:
35.[单选题]在C++类语言体系中,不能被派生类继承的有( )。
A.转换函数
B.构造函数
C.虚函数
D.静态成员函数
正确答案是:
36.[单选题]对于一个类的构造函数,其函数名与类名( )。
A.完全相同
B.基本相同
C.不相同
D.无关系
正确答案是:
37.[单选题]假定AB为一个类,则执行 “AB a[10];”语句时调用该类无参构造函数的次数为( )。
A.0
B.1
C.9
D.10
正确答案是:
38.[单选题]下面是重载双目运算符+的普通函数原形,其中最符合+原来含义的是( )。
A.Value operator+(Value, Value);
B.Value operator+(Value,int);
C.Value &operator+(Value, Value);
D.Value &operator+(Value&, Value&);
正确答案是:
39.[单选题]下面是重载双目运算符-的成员函数原形,其中最符合-原来含义的是( )。
A.Value Value::operator-(Value);
B.Value Value::operator-(int);
C.Value& Value::operator-(Value);
D.Value& Value::operator-(Value&);
正确答案是:
40.[单选题]在C++中,( )运算符不能重载。
A.+
B.?:
C.-
D.<=
正确答案是:
41.[单选题]假定AA是一个类,“AA* abc()const;”是该类中一个成员函数的原型,若该函数返回this值,当用x.abc()调用该成员函数后,x的值( )。
A.已经被改变
B.可能被改变
C.不变
D.受到函数调用的影响
正确答案是:
42.[单选题]下面关于c++语言变量的叙述错误的是( )。
A.在c++语言中变量分为auto,static,extern和register四种存储类型
B.自动变量和外部变量的作用域为整个程序
C.内部变量的作用域是定义它的函数
D.外部静态变量的作用域是定义它的文件
正确答案是:
43.[单选题]建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为( )的构造函数。
A.自己所属类、对象成员所属类、基类
B.对象成员所属类、基类、自己所属类
C.基类、对象成员所属类、自己所属类
D.基类、自己所属类、对象成员所属类
正确答案是:
44.[单选题]下列关于虚基类的描述中,错误的是( )。
A.设置虚基类的目的是为了消除二义性;
B.虚基类的构造函数在非虚基类之后调用;
C.若同一层包含多个虚基类,这些基类的构造函数按照它们的次序调用;
D.若虚基类由非基类派生而来,则仍然先调用基类构造函数,再用派生类的构造函数;
正确答案是:
45.[单选题]一个C++程序文件的扩展名为( )。
A..h
B..c
C..cpp
D..cp
正确答案是:
46.[单选题]以下正确的描述是( )。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
正确答案是:
47.[单选题]类的析构函数可以带有( )个参数。
A.0
B.1
C.2
D.任意
正确答案是:
48.[单选题]在多文件结构的程序中,通常把含有main()函数的文件称为( )。
A.主文件
B.实现文件
C.程序文件
D.头文件
正确答案是:
49.[单选题]假定AA是一个类,“AA& abc();”是该类中一个成员函数的原型,若该函数存在对*this赋值的语句,当用x.abc()调用该成员函数后,x的值( )。
A.已经被改变
B.可能被改变
C.不变
D.不受函数调用的影响
正确答案是:
50.[单选题]对于任一个类,用户所能定义的析构函数的个数至多为( )。
A.0
B.1
C.2
D.任意个
正确答案是:
51.[单选题]派生类的对象对其基类中( )可直接访问。
A.公有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.私有继承的公有成员
正确答案是:
52.[单选题]如果是类B在类A的基础上构造,那么,就称( )。
A.类A为基类或父类,类B为超类或子类
B.类A为基类、父类或超类,类B为派生类或子类
C.类A为派生类,类B为基类
D.类A为派生类或子类,类B为基类、父类或超类
正确答案是:
53.[单选题]对类中常量成员的初始化是通过构造函数中给出的( )实现的。
A.函数体
B.参数表
C.初始化表
D.初始化表或函数体
正确答案是:
54.[单选题]当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的( )。
A.private成员
B.protected成员
C.public成员
D.友元
正确答案是:
55.[单选题]假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“delete []px;”语句时共调用该类析构函数的次数为( )。
A.0
B.1
C.n
D.n+1
正确答案是:
56.[单选题]若需要使类中的一个指针成员指向一块动态存储空间,则通常在( )函数中完成。
A.析构
B.构造
C.任一成员
D.友元
正确答案是:
57.[单选题]采用重载函数的目的是( )。
A.实现共享
B.减少空间
C.提高速度
D.使用方便,提高可读性
正确答案是:
58.[单选题]类的构造函数可以带有( )个参数。
A.0
B.1
C.2
D.任意
正确答案是:
59.[单选题]下列关于构造函数的描述中,错误的是( )。
A.构造函数可以设置默认参数;
B.构造函数在定义类对象时自动执行
C.构造函数可以是内联函数;
D.构造函数不可以重载
正确答案是:
60.[单选题]函数重载是指( )。
A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的函数名字不同,但形参的个数或类型相同
D.两个以上的函数取相同的函数名,并且函数的返回类型相同
正确答案是:
61.[单选题]定义派生类时,若不使用关键字显示地规定采用何种继承方式,则默认方式为( )。
A.私有继承
B.非私有继承
C.保护继承
D.公有继承
正确答案是:
62.[单选题]如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。
A.a.operator+(b)
B.b.operator+(a)
C.operator+(a,b)
D.operator(a+b)
正确答案是:
63.[单选题]有如下类声明: class Foo {ing bar ;}; 则Foo类的成员bar是( )。
A.公有数据成员
B.公有成员函数
C.私有数据成员
D.私有成员函数
正确答案是:
64.[单选题]假定AB为一个类,则执行 “AB *px=new AB[n];”语句时将( )。
A.动态分配一个数组
B.动态分配一个对象
C.静态分配一个数组
D.静态分配一个对象
正确答案是:
65.[单选题]下面关于虚函数的描述,错误的是( )。
A.在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C.虚函数可以是另一个类的友元函数,但不能是静态成员函数
D.基类中说明的纯虚函数在其任何派生类中都必须实现
正确答案是:
66.[单选题]软件产品可被全部或部分地再用于新的应用的能力叫做软件的( )。
A.可维护性
B.可复用性
C.兼容性
D.正确性
正确答案是:
67.[单选题]假定K是一个类名,并有定义“K k; int j;”,已知K中重载了操作符 ( ),且语句“j=k(3);”和“k(5)=99;”都能顺利执行,说明该操作符函数的原形只可能是( )。
A.K operator ( ) (int);
B.int operator ( )(int&);
C.int & operator ( )(int);
D.K &operator( )(int);
正确答案是:
68.[单选题]由C++目标文件连接而成的可执行文件的缺省扩展名为( )。
A.cpp
B.exe
C.obj
D.lik
正确答案是:
69.[单选题]当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的( )。
A.只能是公有成员
B.只能是保护成员
C.只能是除私有成员之外的任何成员
D.具有任何权限的成员
正确答案是:
70.[单选题]假定AB为一个类,则执行 “AB x(a,5);”语句时将自动调用该类的( )。
A.带参构造函数
B.无参构造函数
C.拷贝构造函数
D.赋值重载函数
正确答案是:
71.[单选题]静态成员函数对类的数据成员访问( )。
A.是不允许的
B.只允许是静态数据成员
C.只允许是非静态数据成员
D.可允许是静态数据成员或非静态数据成员
正确答案是:
72.[单选题]继承具有( ),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
A.规律性
B.传递性
C.重复性
D.多样性
正确答案是:
73.[单选题]若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
A.in
B.inline
C.inLine
D.InLiner
正确答案是:
74.[单选题]面向对象软件开发中使用的OOA表示( )。
A.面向对象分析
B.面向对象设计
C.面向对象语言
D.面向对象方法
正确答案是:
75.[单选题]在C++语言程序中,对象之间的相互通信通过( )。
A.继承实现
B.调用成员函数实现
C.封装实现
D.函数重载实现
正确答案是:
76.[单选题]软件产品准确执行软件需求规格说明书中所规定的任务的能力叫做软件的( )。
A.可维护性
B.可复用性
C.兼容性
D.正确性
正确答案是:
77.[单选题]在类作用域中能够通过直接使用该类的( )成员名进行访问。
A.私有
B.公用
C.保护
D.任何
正确答案是:
78.[单选题]友元的作用之一是( )。
A.提高程序的运行效率
B.加强类的封装性
C.实现数据的隐藏性
D.增加成员函数的种类
正确答案是:
79.[单选题]软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( )。
A.可维护性
B.可复用性
C.兼容性
D.正确性
正确答案是:
80.[单选题]可用作C++语言用户标识符的一组标识符是( )。
A.void define +WORD
B.a3_b3 _123 YN
C.for -abc Case
D.2a DO sizeof
正确答案是:
81.[单选题]在成员函数中进行双目运算符重载时,其参数表中应带有( )个参数。
A.0
B.1
C.2
D.3
正确答案是:
82.[单选题]类的静态成员的访问控制( )。
A.只允许被定义为private
B.只允许被定义为private或protected
C.只允许被定义为public
D.可允许被定义为private、protected或public
正确答案是:
83.[单选题]假定AB为一个类,则执行 “AB a(2), b[3], *p[4];”语句时共调用该类构造函数的次数为( )。
A.3
B.4
C.5
D.9
正确答案是:
84.[单选题]在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是( )。
A.一元成员运算符
B.二元成员运算符
C.一元友元运算符
D.选项B和选项C都可能
正确答案是:
85.[单选题]如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。
A.a.operator==(b)
B.b.operator==(a)
C.operator==(a,b)
D.operator==(b,a)
正确答案是:
86.[单选题]假定AB为一个类,则( )为该类的拷贝构造函数的原型说明。
A.AB(AB x);
B.AB(AB& x);
C.void AB(AB& x);
D.AB(int x);
正确答案是:
87.[单选题]结构中定义的成员默认为( )访问属性。
A.public
B.private
C.protected
D.friend
正确答案是:
88.[单选题]假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
A.0
B.1
C.2
D.3
正确答案是:
89.[单选题]假定一个类AB只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为( )。
A.AB() {}
B.AB(): a(0){}
C.AB(int aa=0) {a=aa;}
D.AB(int aa) {}
正确答案是:
90.[单选题]对于任一个类,用户所能定义的构造函数的个数至多为( )。
A.0
B.1
C.2
D.任意个
正确答案是:
91.[单选题]对于类中定义的成员,其隐含访问权限为( )。
A.public
B.private
C.static
D.protected
正确答案是:
92.[单选题]假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。
A.x.a
B.x.a()
C.x->GetValue()
D.x.GetValue()
正确答案是:
93.[单选题]下列表示引用的方法中,( )是正确的。已知:int m=10;
A.float &t=&m;
B.int &y=10;
C.int &z;
D.int &x=m;
正确答案是:
94.[单选题]被非静态成员函数访问的类的数据成员( )。
A.可以是非静态数据成员或静态数据成员
B.不可能是类的静态数据成员
C.只能是类的非静态数据成员
D.只能是类的静态数据成员
正确答案是:
95.[单选题]假定AB为一个类,则执行 “AB x;”语句时将自动调用该类的( )。
A.带参构造函数
B.无参构造函数
C.拷贝构造函数
D.赋值重载函数
正确答案是:
96.[单选题]对于一个类的析构函数,其函数名与类名( )。
A.完全相同
B.完全不同
C.只相差一个字符
D.无关系
正确答案是:
97.[单选题]C++的继承性允许派生类继承基类的( )。
A.部分特性,并允许增加新的特性或重定义基类的特性
B.部分特性,但不允许增加新的特性或重定义基类的特性
C.所有特性,并允许增加新的特性或重定义基类的特性
D.所有特性,但不允许增加新的特性或重定义基类的特性
正确答案是:
98.[单选题]程序中主函数的名字为( )。
A.main
B.MAIN
C.Main
D.任意标识符
正确答案是:
99.[单选题]软件产品与其他软件产品组合成一个整体的难易程度叫做软件的( )。
A.可维护性
B.可复用性
C.兼容性
D.正确性
正确答案是:
100.[单选题]在多文件结构的程序中,通常把类中所有非内联函数的定义单独存放于( )中。
A.主文件
B.实现文件
C.库文件
D.头文件
正确答案是:
101.[单选题]假定AB为一个类,则执行“AB a, b(2), c[3], *p=&a;”语句时共调用该类无参构造函数的次数为( )。
A.5
B.6
C.3
D.4
正确答案是:
102.[单选题]假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为( )。
A.abc
B.*this
C.this
D.this&
正确答案是:
103.[单选题]假定AB为一个类,则执行 “AB r1=r2;”语句时将自动调用该类的( )。
A.无参构造函数
B.带参构造函数
C.赋值重载函数
D.拷贝构造函数
正确答案是:
104.[单选题]一个程序中数组a和变量k定义为“int a[5][10],k;”,且程序中包含有语句“a(2,5)=++k*3;”,则此语句中肯定属于重载操作符的是( )。
A.( )
B.=
C.++
D.*
正确答案是:
105.[单选题]通常拷贝构造函数的参数是( )。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
正确答案是:
106.[单选题]假定一个类的构造函数为 “A(int aa, int bb) {a=aa; b=aa*bb;}”,则执行 “A x(4,5);”语句后,x.a和x.b的值分别为( )。
A.4和5
B.5和4
C.4和20
D.20和5
正确答案是:
107.[单选题]关于运算符重载,下列说法正确的是( )。
A.重载时,运算符的优先级可以改变。
B.重载时,运算符的结合性可以改变。
C.重载时,运算符的功能可以改变。
D.重载时,运算符的操作数个数可以改变。
正确答案是:
108.[单选题]下列对派生类的描述中错误的说法是:( )。
A.派生类至少有一个基类
B.派生类可作为另一个派生类的基类
C.派生类除了包含它直接定义的成员外,还包含其基类的成员
D.派生类所继承的基类成员的访问权限保持不变
正确答案是:
109.[单选题]当一个类对象离开它的作用域时,系统自动调用该类的( )。
A.无参构造函数
B.带参构造函数
C.拷贝构造函数
D.析构函数
正确答案是:
110.[单选题]如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。
A.a.operator++(1)
B.operator++(a)
C.operator++(a,1)
D.a.operator++()
正确答案是:
111.[单选题]对虚函数的调用( )。
A.一定使用动态联编
B.必须使用动态联编
C.一定使用静态联编
D.不一定使用动态联编
正确答案是:
112.[单选题]假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为( )。
A.int
B.char
C.AA
D.AA*
正确答案是:
113.[单选题]下列关于运算符重载的描述中,( )是正确的。
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变优先级
C.运算符重载可以改变结合性
D.运算符重载不可以改变语法结构
正确答案是:
114.[单选题]一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明( )。
A.需加上类域的限定
B.不需加上类域的限定
C.类域的限定可加可不加
D.不需要任何限定
正确答案是:
115.[单选题]在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( )。
A.友元函数
B.虚函数
C.构造函数
D.析构函数
正确答案是:
116.[单选题]当类中的一个整型指针成员指向一块具有n*sizeof(int)大小的存储空间时,它最多能够存储( )个整数。
A.n
B.n+1
C.n-1
D.1
正确答案是:
117.[单选题]一个类的友元不是该类的成员,与该类的关系密切,所以它( )。
A.有this指针,有默认操作的对象
B.没有this指针,可以有默认操作的对象
C.有this指针,不能执行默认操作
D.没有this指针,也就没有默认操作的对象
正确答案是:
118.[单选题]假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为( )。
A.x.a
B.x.a()
C.x->a
D.x->a()
正确答案是:
119.[单选题]假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为( )。
A.a
B.AA::a
C.a()
D.AA::a()
正确答案是:
120.[单选题]在C++程序中使用的cout标识符是系统类库中定义的( )类中的一个对象。
A.istream
B.ostream
C.iostream
D.fstream
正确答案是:
121.[单选题]在下列函数原型中,可以作为类AA构造函数的是( )。
A.void AA(int) ;
B.int AA( ) ;
C.AA(int)const;
D.AA(int);
正确答案是:
122.[单选题]假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( )。
A.int AA::a()
B.int AA:a()
C.AA::a()
D.AA::int a()
正确答案是:
123.[单选题]下面正确的是,在父类中的访问属性访问修饰符在子类中的访问属性( )。
A.public,private不能直接访问
B.protect,public,public
C.private,public不能直接访问
D.protect,private,protect
正确答案是:
124.[单选题]当保护继承时,基类的( )在派生类中成为保护成员,在类作用域外不能够通过派生类的对象来直接访问该成员。
A.任何成员
B.公有成员和保护成员
C.保护成员和私有成员
D.私有成员
正确答案是:
125.[单选题]下面对友元函数描述正确的是( )。
A.友元函数的实现必须在类的内部定义
B.友元函数是类的成员函数
C.友元函数破坏了类的封装性和隐藏性
D.友元函数不能访问类的私有成员
正确答案是:
126.[单选题]类的析构函数是一个对象被( )时自动调用的。
A.建立
B.撤消
C.赋值
D.引用
正确答案是:
127.[单选题]为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( )。
A.内联函数
B.重载函数
C.递归函数
D.函数模板
正确答案是:
128.[单选题]C++程序的基本模块为( )。
A.表达式
B.标识符
C.语句
D.函数
正确答案是:
129.[单选题]有如下类声明: class Book {int num() ;}; 则Book类的成员num是( )。
A.公有数据成员
B.公有成员函数
C.私有数据成员
D.私有成员函数
正确答案是:
130.[单选题]在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( )方式。
A.私有继承
B.非私有继承
C.保护继承
D.公有继承
正确答案是:
131.[单选题]函数原型语句正确的是( )。
A.int Function(void a);
B.void Function (int);
C.int Function(a);
D.void int(double a);
正确答案是:
132.[单选题]在关键字public后面定义的成员为类的( )成员。
A.私有
B.公用
C.保护
D.任何
正确答案是:
133.[单选题]类中定义的成员默认为( )访问属性。
A.public
B.private
C.protected
D.friend
正确答案是:
134.[单选题]在C++中,要实现动态联编,必须使用( )。调用虚函数
A.类名
B.派生类指针
C.对象名
D.基类指针
正确答案是:
135.[单选题]关于消息,下列说法中不正确的是( )。
A.发送消息的对象请求服务,接受消息的对象提供服务
B.消息的发送者必须了解消息的接收者如何相应消息
C.在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用
D.每个对象只能接收某些特定格式的消息
正确答案是:
136.[单选题]在声明类时,下面的说法正确的是( )。
A.可以在类的声明中给数据成员赋初值
B.数据成员的数据类型可以是register
C.private,public,protected可以按任意顺序出现
D.没有用private,public,protected定义的数据成员是公有成员
正确答案是:
137.[单选题]假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。
A.x(a)
B.x[a]
C.x->a
D.x.a
正确答案是:
138.[单选题]下列关于构造函数说法不正确的是( )。
A.构造函数必须与类同名
B.构造函数可以省略不写
C.构造函数必须有返回值
D.在构造函数中可以对类中的成员进行初始化
正确答案是:
139.[单选题]关于插入运算符<<的重载,下列说法不正确的是( )。
A.运算符函数的返回值类型是ostream & 。
B.重载的运算符必须定义为类的成员函数。
C.运算符函数的第一个参数的类型是ostream & 。
D.运算符函数有两个参数。
正确答案是:
140.[单选题]在关键字private后面定义的成员为类的( )成员。
A.私有
B.公用
C.保护
D.任何
正确答案是:
141.[单选题]下列( )的调用方式是引用调用。
A.形参和实参都是变量
B.形参是指针,实参是地址值
C.形参是引用,实参是变量
D.形参是变量,实参是地址值
正确答案是:
142.[单选题]继承机制的作用是:( )。
A.信息隐藏
B.数据封装
C.定义新类
D.数据抽象
正确答案是:
143.[单选题]以下正确的说法是( )。
A.用户调用标准库函数前,必须重新定义
B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C.系统不允许用户重新定义标准库函数
D.用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中
正确答案是:
144.[单选题]若一个类中含有纯虚函数,则该类称为( )。
A.抽象类
B.纯基类
C.派生类
D.基类
正确答案是:
145.[单选题]下面叙述不正确的是( )。
A.基类的保护成员在派生类中仍然是保护成员
B.基类的保护成员在公有派生类中仍然是保护成员
C.基类的保护成员在私有派生类中是私有成员
D.对基类成员的访问必须是无二义性
正确答案是:
146.[单选题]下面关于友元的描述中,错误的是( )。
A.友元函数可以访问该类的私有数据成员
B.一个类的友元类中的成员函数都是这个类的友元函数
C.友元可以提高程序的运行效率
D.类与类之间的友元关系可以继承
正确答案是:
147.[单选题]由C++源程序文件编译而成的目标文件的缺省扩展名为( )。
A.cpp
B.exe
C.obj
D.lik
正确答案是:
148.[单选题]有关析构函数的说法不正确的是( )。
A.析构函数有且只有一个
B.析构函数无任何函数类型
C.析构函数没有形参
D.析构函数不能是虚函数
正确答案是:
149.[单选题]在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( )。
A.作为友元函数重载的1元运算符
B.作为成员函数重载的1元运算符
C.作为友元函数重载的2元运算符
D.作为成员函数重载的2元运算符
正确答案是:
150.[单选题]在C++程序中使用的cin标识符是系统类库中定义的( )类中的一个对象。
A.istream
B.ostream
C.iostream
D.fstream
正确答案是:
151.[单选题]C++源程序文件的缺省扩展名为( )。
A.cpp
B.exe
C.obj
D.lik
正确答案是:
152.[单选题]C++中的虚基类机制可以保证:( )。
A.限定基类只通过一条路径派生出派生类
B.允许基类通过多条路径派生出派生类,派生类也就能多次继承该基类
C.当一个类多次间接从基类派生以后,派生类对象能保留多份间接基类的成员
D.当一个类多次间接从基类派生以后,其基类只被一次继承
正确答案是:
153.[单选题]引入友元的主要目的是为了( )。
A.增强数据安全性
B.提高程序的可靠性
C.提高程序的效率和灵活性
D.保证类的封装性
正确答案是:
154.[单选题]双目运算符重载为普通函数时,其参数表中应带有( )个参数。
A.0
B.1
C.2
D.3
正确答案是:
155.[单选题]对类对象成员的初始化是通过构造函数中给出的( )实现的。
A.函数体
B.初始化表
C.参数表
D.初始化表或函数体
正确答案是:
156.[单选题]关于void 指针,下列说法正确的是( )。
A.void 指针就是未指向任何数据的指针
B.void 指针就是已定义而未初始化的指针
C.指向任何类型数据的指针可直接赋值给一个void 指针
D.void 指针值可直接赋给一个非void 指针
正确答案是:
157.[单选题]在多重继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则( )。
A.完全相同
B.完全不同
C.部分相同,部分不同
D.以上都不对
正确答案是:
158.[单选题]下列对引用的陈述中不正确的是( )。
A.每一个引用都是其所引用对象的别名,因此必须初始化
B.形式上针对引用的操作实际上作用于它所引用的对象
C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D.不需要单独为引用分配存储空间
正确答案是:
159.[单选题]关于类和对象不正确的说法是( )。
A.类是一种类型,它封装了数据和操作
B.一个类的对象只有一个
C.对象是类的实例
D.一个对象必属于某个类
正确答案是:
160.[单选题]假定一个类AB只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定义的无参构造函数为( )。
A.AB() {a=0;}
B.AB(int aa=0): a(aa) {}
C.AB(int aa): a(aa) {}
D.AB() {}
正确答案是:
161.[单选题]如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是( )。
A.virtual show()=0;
B.virtual void show();
C.virtual void show()=0;
D.void show=0 virtual;
正确答案是:
162.[单选题]考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是( )。
A.test(5)
B.test(5,8)
C.test(6,"#")
D.test(0,1[单选题]"*");
正确答案是:
163.[单选题]下面关于对象概念的描述中,( )是错误的。
A.对象代表着正在创建的系统中的一个实体
B.对象就是C语言中的结构体变量
C.对象是一个状态和操作(或方法)的封装体
D.对象之间的信息传递是通过消息进行的
正确答案是:
164.[单选题]函数调用不可以( )。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
正确答案是:
165.[单选题]假定M是一个类名,且M中重载了操作符=,可以实现M对象间的连续赋值,如“m1=m2=m3;”。重载操作符=的函数原型最好是( )。
A.int operaotor=(M);
B.int operator=(M&);
C.M operator=(M&);
D.M& operator=(M);
正确答案是:
166.[单选题]关于面向对象系统分析,下列说法中不正确的是( )。
A.术语“面向对象分析”可以用缩写OOA表示
B.面向对象分析阶段对问题域的描述比实现阶段更详细
C.面向对象分析包括问题域分析和应用分析两个步骤
D.面向对象分析需要识别对象的内部和外部特征
正确答案是:
167.[单选题]假定一个类对象数组为A[n],当离开它定义的作用域时,系统自动调用该类析构函数的次数为( )。
A.0
B.1
C.n
D.n-1
正确答案是:
168.[单选题]对于公有继承,基类中的私有成员在派生类中将( )。
A.能够直接使用成员名访问
B.能够通过成员运算符访问
C.仍然是基类的私有成员
D.变为派生类的私有成员
正确答案是:
169.[单选题]对于公有继承,基类的公有和保护成员在派生类中将( )成员。
A.全部变成公有
B.全部变成保护
C.全部变成私有
D.仍然相应保持为公有和保护
正确答案是:
170.[单选题]下面有关重载函数的说法中正确的是( )。
A.重载函数必须具有不同的返回值类型;
B.重载函数形参个数必须不同;
C.重载函数必须有不同的形参列表;
D.重载函数名可以不同;
正确答案是:
171.[单选题]在一个类的定义中,包含有( )成员的定义。
A.数据
B.函数
C.数据和函数
D.数据或函数
正确答案是:
172.[单选题]当派生类中有和基类一样名字的成员时,一般来说,( )。
A.将产生二义性
B.派生类的同名成员将覆盖基类的成员
C.是不能允许的
D.基类的同名成员将覆盖派生类的成员
正确答案是:
173.[单选题]如果表达式a++中的“++”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。
A.a.operator++()
B.operator++(a)
C.operator++(a,1)
D.operator++(1,a)
正确答案是:
174.[单选题]类A是类B的友元,类B是类C的友元,则下列说法正确的是( )。
A.类B是类A的友元
B.类C是类A的友元
C.类A是类C的友元
D.以上都不对
正确答案是:
175.[单选题]在多文件结构的程序中,通常把类的定义单独存放于( )中。
A.主文件
B.实现文件
C.库文件
D.头文件
正确答案是:
176.[单选题]关于运算符重载,下列哪个说法是正确的( )。
A.所有的运算符都可以重载。
B.通过重载,可以使运算符应用于自定义的数据类型。
C.通过重载,可以创造原来没有的运算符。
D.通过重载,可以改变运算符的优先级。
正确答案是:
177.[单选题]派生类的成员函数可以直接访问基类的( )成员。
A.所有
B.公有和保护
C.保护和私有
D.私有
正确答案是:
178.[单选题]假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为( )。
A.px(a)
B.px[a]
C.px->a
D.px.a
正确答案是: