《VC++程序设计》期末复习题【考试范围】_第1页
《VC++程序设计》期末复习题【考试范围】_第2页
《VC++程序设计》期末复习题【考试范围】_第3页
《VC++程序设计》期末复习题【考试范围】_第4页
《VC++程序设计》期末复习题【考试范围】_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

工学院电气系工学院电气系VC+VC+程序设计程序设计期末复习题期末复习题 考试采取上机方式,由计算机随机抽取考试采取上机方式,由计算机随机抽取 6060 道选择和道选择和 4040 道判断题,每小题道判断题,每小题 1 1 分,共分,共 100100 分。该成绩分。该成绩 占期末总成绩的占期末总成绩的 60%60%,剩下的,剩下的 40%40%由课堂考勤、书面作业、上机作业等综合决定。由课堂考勤、书面作业、上机作业等综合决定。 【下面的题目序号不下面的题目序号不 重要,因时间紧张,无暇重新整理顺序,大家只需认真看题目内容即可重要,因时间紧张,无暇重新整理顺序,大家只需认真看题目内容即可】 一、选择题一、选择题 (1 1)下列的()下列的( )是引用调用。)是引用调用。 A A形参是引用,实参是变量;形参是引用,实参是变量; B B形参和实参都是变量;形参和实参都是变量; C C形参是指针,实参是地址值;形参是指针,实参是地址值;D D形参是数组名,实参是数组名。形参是数组名,实参是数组名。 (2 2)作用域运算符的功能是()作用域运算符的功能是( ) A A给定作用域的大小;给定作用域的大小; 表示作用域的级别的;表示作用域的级别的; C C某个成员是属于哪个类的;某个成员是属于哪个类的; 指出作用域的范围的。指出作用域的范围的。 (3 3)下列的各函数中,)下列的各函数中, ( )不是类的成员函数。)不是类的成员函数。 A A构造函数;析构函数;拷贝初始化构造函数;构造函数;析构函数;拷贝初始化构造函数;友元函数。友元函数。 (4 4)下面()下面( )不是构造函数的特征。)不是构造函数的特征。 A A构造函数可以重载;构造函数可以重载; 构造函数可以设置缺省参数;构造函数可以设置缺省参数; 构造函数的函数名和类名相同;构造函数的函数名和类名相同;构造函数必须指定返回值类型。构造函数必须指定返回值类型。 (5 5)下述静态数据成员的特性中,)下述静态数据成员的特性中, ( )是错误的。)是错误的。 A A静态数据成员要在类体外进行初始化;静态数据成员要在类体外进行初始化; B B说明静态数据成员时前边要加修饰符说明静态数据成员时前边要加修饰符 staticstatic; C C静态数据成员不是所有对象所共有的;静态数据成员不是所有对象所共有的; D D引用静态数据成员时,要在静态数据成员名前加引用静态数据成员时,要在静态数据成员名前加和作用域运算符。和作用域运算符。 (6 6)已知类)已知类 A A 有三个公有成员:有三个公有成员:voidvoid f1(int),f1(int), voidvoid f2(int)f2(int) 和和 intint a a,则(,则( )是指向类)是指向类 A A 成成 员函数的指针。员函数的指针。 A A *p;*p; B.B. intint A:*pc=A:*pc= C C voidvoid(A A :*pa:*pa) (intint); ; . . A A *p;*p; (7 7)下列关于对象数组的描述中,)下列关于对象数组的描述中, ( )是错的。)是错的。 对象数组的数组名是一个地址常量对象数组的数组名是一个地址常量; ; 对象数组的下标是从开始的对象数组的下标是从开始的; ; 对象数组只能赋初值,不能被赋值对象数组只能赋初值,不能被赋值; ; 对象数组的数组元素是同一个类的对象对象数组的数组元素是同一个类的对象 (8 8)下列定义中,)下列定义中, ( )是定义指向类)是定义指向类 A A 的对象数组的指针。的对象数组的指针。 A AA A *p5;*p5; A A (*p)(*p) 5;5; (A(A *)*) p5;p5; A A *p*p ; (9 9)说明语句)说明语句 constconst charchar *ptr;*ptr;中,中,ptrptr 是(是( ) 。 A A指向字符常量的指针;指向字符常量的指针; 指向字符的常量指针;指向字符的常量指针; 指向字符串常量的指针;指向字符串常量的指针; 指向字符串的常量指针。指向字符串的常量指针。 (1010)关于)关于 newnew 运算符的下列描述中,运算符的下列描述中,( ( ) )是错的是错的. . 使用它创建对象时要调用构造函数;使用它创建对象时要调用构造函数; 使用它创建对象数组时必须指定初始值;使用它创建对象数组时必须指定初始值; 它可以用来动态创建对象和对象数组;它可以用来动态创建对象和对象数组; 使用它创建的对象或对象数组可以使用运算符使用它创建的对象或对象数组可以使用运算符 deletedelete 删除。删除。 答:答: (1 1)A A (2 2)C C (3 3)D D( 4 4)D D( 5 5)C C( 6 6)C C (7 7)C C (8 8)B B (9 9)A A (1010)B B (1 1) 派生类的对象对它的基类成员中(派生类的对象对它的基类成员中( )是可以访问的)是可以访问的 公有继承的保护成员;公有继承的保护成员; 公有继承的私有成员;公有继承的私有成员; 公有继承的公有成员;公有继承的公有成员;私有继承的公有成员私有继承的公有成员 (2 2) 下面关于派生类的描述中,下面关于派生类的描述中, ( )是错的。)是错的。 一个派生类可以作为另一个派生类的基类;一个派生类可以作为另一个派生类的基类; 派生类至少有一个基类;派生类至少有一个基类; 派生类的成员除了它自己的成员外,还包含了它的基类的成员派生类的成员除了它自己的成员外,还包含了它的基类的成员 派生类中继承的基类成员的访问权限到派生类保持不变。派生类中继承的基类成员的访问权限到派生类保持不变。 (3 3)派生类的构造函数的成员初始化列表中,不能包含()派生类的构造函数的成员初始化列表中,不能包含( ) 基类的构造函数调用;基类的构造函数调用; 派生类对象成员的初始化;派生类对象成员的初始化; 基类对象成员的初始化;基类对象成员的初始化; 派生类中一般数据成员的初始化派生类中一般数据成员的初始化 (4 4)设置虚基类的目的是()设置虚基类的目的是( ) 减少目标代码;减少目标代码;消除二义性;消除二义性;提高运行效率;提高运行效率; 简化程序。简化程序。 (5 5) 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将 对虚基类的子对象初始化(对虚基类的子对象初始化( ) 一次;一次; 二次;二次; 多次;多次; 与虚基类下面的派生类个数有关与虚基类下面的派生类个数有关 答案:答案: (1 1) (2 2)D D (3 3) (4 4)B B (5 5)A A (1)(1) 以下保留字(以下保留字( )不能出现在说明虚函数原型的语句中。)不能出现在说明虚函数原型的语句中。 A Astaticstatic B.B. operatoroperator C.C. voidvoid D.D. constconst . . (2)(2) 以下关于虚函数和纯虚函数的说法中,以下关于虚函数和纯虚函数的说法中, ( )是不正确的)是不正确的 A A在派生类中虚函数可以不用关键字在派生类中虚函数可以不用关键字 virtualvirtual 说明。说明。 B.B. 虚函数在派生类中可以不重定义。虚函数在派生类中可以不重定义。 C.C. 不能为虚函数定义缺省操作。不能为虚函数定义缺省操作。 D.D. 纯虚函数在派生类中可以不重定义。纯虚函数在派生类中可以不重定义。 (3)(3) 以下关于动态绑定的说法中,正确的是(以下关于动态绑定的说法中,正确的是( ) A A虚基类是动态绑定的。虚基类是动态绑定的。 B.B. 指针是动态绑定的。指针是动态绑定的。 C.C. 所有的虚函数和纯虚函数都是动态绑定的。所有的虚函数和纯虚函数都是动态绑定的。 D.D. 动态绑定与编译系统无关。动态绑定与编译系统无关。 (4)(4) 以下关于抽象类的说法中,以下关于抽象类的说法中, ( )是不正确的)是不正确的 A A不可创建抽象类的实例。不可创建抽象类的实例。 B.B. 可以声明抽象类的引用。可以声明抽象类的引用。 C.C. 抽象类的派生类也是抽象类。抽象类的派生类也是抽象类。 D.D. 抽象类的派生类也可以是抽象类。抽象类的派生类也可以是抽象类。 (5)(5)以下关于抽象类的说法中,只有(以下关于抽象类的说法中,只有( )是正确的)是正确的 A A定义抽象类的目的是软件重用。定义抽象类的目的是软件重用。 B.B. 定义抽象类是为了提高访问效率。定义抽象类是为了提高访问效率。 C.C. 定义抽象类是使指针的使用更灵活。定义抽象类是使指针的使用更灵活。 D.D. 抽象类提供了对类进行分类的机制。抽象类提供了对类进行分类的机制。 (6)(6)以下关于多态性的说法中,以下关于多态性的说法中, ( )是不正确的)是不正确的 A A每个多态类的对象有一个虚表指针。每个多态类的对象有一个虚表指针。 B.B. 虚函数调用与虚函数调用与 thisthis 指针无关。指针无关。 C.C. 每个多态类的基类都有一个虚函数表。每个多态类的基类都有一个虚函数表。 D.D. 多态类的每一个派生类都有一个虚函数表。多态类的每一个派生类都有一个虚函数表。 单项选择题答案:单项选择题答案: (1)(1) A A (2)(2) D D (3)(3) C C (4)(4) C C (5)(5) B B (6)(6) D D (1 1)下列不是)下列不是 C+C+流对象的是流对象的是( ( ) ) A.coutA.cout B.cinB.cin C.cerrC.cerr D.ostreamD.ostream (2 2)已知)已知:int:int w=-3,x=10,z=7w=-3,x=10,z=7 执行下面的语句的输出结果为执行下面的语句的输出结果为( ( ) ) coutcout(10?x+100:x-1010?x+100:x-10) (w+|z+w+|z+) (!wz!wz) (wmain()coutsetfill(*)setw(10)10endl;的输出结果为的输出结果为( ( ) ) A.A. $ $ 1010 1010 B.*10B.*10 C.C. *10*10 D.*1010D.*1010 (4 4)C+C+所有输入和输出流的基类是所有输入和输出流的基类是( ( ) ) A.stream.hA.stream.h B.iostream.hB.iostream.h C.cinC.cin 和和 coutcout D.iosD.ios (5 5)文件的输入与输出流是)文件的输入与输出流是( ( ) ) A.A. iostream.hiostream.h B.B. ifstreamifstream 和和 ofstreamofstream C.C. istream_withassignistream_withassign,ostream_withassignostream_withassign D.D. istreamistream 和和 ostreamostream (6 6)语句)语句 coutoct12;coutoct12;的输出结果是的输出结果是 A.12A.12 B.1100B.1100 C.14C.14 D.D. C C (7 7)对)对nextelemHead-next 和和 elemHeadelemHead D.D. elemTail-nextelemTail-next 和和 elemTailelemTail 132.132. 在一个用链表实现的队列类中,假定每个结点包含的值域用在一个用链表实现的队列类中,假定每个结点包含的值域用 elemelem 表示,包含的指针域用表示,包含的指针域用 nextnext 表示,链队的队首指针用表示,链队的队首指针用 elemHeadelemHead 表示,队尾指针用表示,队尾指针用 elemTailelemTail 表示,若链队为空,则进行插入表示,若链队为空,则进行插入 时必须把新结点的地址赋给时必须把新结点的地址赋给( ( ) )。 A.A. elemHeadelemHead B.B. elemTailelemTail C.C. elemHeadelemHead 和和 elemTailelemTail D.D. elemHeadelemHead 或或 elemTailelemTail 133.133. 队列具有(队列具有( )的操作特性。)的操作特性。 A.A. 先进先出先进先出 B.B. 先进后出先进后出 C.C. 进出无序进出无序 D.D. 进出任意进出任意 134.134. 栈具有(栈具有( )的操作特性。)的操作特性。 A.A. 先进先出先进先出 B.B. 先进后出先进后出 C.C. 进出无序进出无序 D.D. 进出任意进出任意 135.135. 对于一个类的构造函数,其函数名与类名对于一个类的构造函数,其函数名与类名( ( ) )。 A.A. 完全相同完全相同 B.B. 基本相同基本相同 C.C. 不相同不相同 D.D. 无关系无关系 136.136. 对于一个类的析构函数,其函数名与类名对于一个类的析构函数,其函数名与类名( ( ) )。 A.A. 完全相同完全相同 B.B. 完全不同完全不同 C.C. 只相差一个字符只相差一个字符 D.D. 无关系无关系 137.137. 类的构造函数是在定义该类的一个类的构造函数是在定义该类的一个( ( ) )时被自动调用执行的。时被自动调用执行的。 A.A. 成员函数成员函数 B.B. 数据成员数据成员 C.C. 对象对象 D.D. 友元函数友元函数 138.138. 类的析构函数是一个对象被类的析构函数是一个对象被( ( ) )时自动调用的。时自动调用的。 A.A. 建立建立 B.B. 撤消撤消 C.C. 赋值赋值 D.D. 引用引用 139.139. 一个类的构造函数通常被定义为该类的一个类的构造函数通常被定义为该类的( ( ) )成员。成员。 A.A. 公用公用 B.B. 保护保护 C.C. 私有私有 D.D. 友元友元 140.140. 一个类的析构函数通常被定义为该类的一个类的析构函数通常被定义为该类的( ( ) )成员。成员。 A.A. 私有私有 B.B. 保护保护 C.C. 公用公用 D.D. 友元友元 141.141. 假定假定 ABAB 为一个类,则执行为一个类,则执行 “AB“AB x;”x;”语句时将自动调用该类的语句时将自动调用该类的( ( ) )。 A.A. 带参构造函数带参构造函数 B.B. 无参构造函数无参构造函数 C.C. 拷贝构造函数拷贝构造函数 D.D. 赋值重载函数赋值重载函数 142.142. 假定假定 ABAB 为一个类,则执行为一个类,则执行 “AB“AB x(a,5);”x(a,5);”语句时将自动调用该类的语句时将自动调用该类的( ( ) )。 A.A. 带参构造函数带参构造函数 B.B. 无参构造函数无参构造函数 C.C. 拷贝构造函数拷贝构造函数 D.D. 赋值重载函数赋值重载函数 143.143. 假定假定 ABAB 为一个类,则执行为一个类,则执行 “AB“AB *s=new*s=new AB(a,5);”AB(a,5);”语句时得到的一个动态对象为语句时得到的一个动态对象为 _。 A.A. s s B.B. s-as-a C.C. s.as.a D.D. *s*s 144.144. 假定假定 ABAB 为一个类,则执行为一个类,则执行 “AB“AB r1=r2;”r1=r2;”语句时将自动调用该类的语句时将自动调用该类的( ( ) )。 A.A. 无参构造函数无参构造函数 B.B. 带参构造函数带参构造函数 C.C. 赋值重载函数赋值重载函数 D.D. 拷贝构造函数拷贝构造函数 145.145. 若需要使类中的一个指针成员指向一块动态存储空间,则通常在若需要使类中的一个指针成员指向一块动态存储空间,则通常在( ( ) )函数中完成。函数中完成。 A.A. 析构析构 B.B. 构造构造 C.C. 任一成员任一成员 D.D. 友元友元 146.146. 当类中的一个整型指针成员指向一块具有当类中的一个整型指针成员指向一块具有 n*sizeof(int)n*sizeof(int)大小的存储空间时,它最多能够存大小的存储空间时,它最多能够存 储储( ( ) )个整数。个整数。 A.A. n n B.B. n+1n+1 C.C. n-1n-1 D.D. 1 1 147.147. 假定一个类的构造函数为假定一个类的构造函数为 “A(int“A(int aa,aa, intint bb)bb) a=aa;a=aa; b=aa*bb;”b=aa*bb;”,则执行,则执行 “A“A x(4,5);x(4,5); ”语句后,语句后,x.ax.a 和和 x.bx.b 的值分别为的值分别为( ( ) )。 A.A. 4 4 和和 5 5 B.B. 5 5 和和 4 4 C.C. 4 4 和和 2020 D.D. 2020 和和 5 5 148.148. 假定一个类的构造函数为假定一个类的构造函数为 “A(int“A(int aa=1,aa=1, intint bb=0)bb=0) a=aa;a=aa; b=bb;”b=bb;”,则执行,则执行 “A“A x(4);x(4); ”语句后,语句后,x.ax.a 和和 x.bx.b 的值分别为的值分别为( ( ) )。 A.A. 1 1 和和 0 0 B.B. 1 1 和和 4 4 C.C. 4 4 和和 1 1 D.D. 4 4 和和 0 0 149.149. 假定假定 ABAB 为一个类,则为一个类,则( ( ) )为该类的拷贝构造函数的原型说明。为该类的拷贝构造函数的原型说明。 A.A. AB(ABAB(AB x);x); B.B. AB(ABx); C.C. voidvoid AB(ABx); D.D. AB(intAB(int x);x); 150.150. 假定一个类的构造函数为假定一个类的构造函数为 “B(int“B(int ax,ax, intint bx):bx): a(ax),a(ax), b(bx)b(bx) ”,执行,执行 “B“B x(1,2),x(1,2), y(3,4);x=y;”y(3,4);x=y;”语句序列后语句序列后 x.ax.a 的值为的值为( ( ) )。 A.A. 1 1 B.B. 2 2 C.C. 3 3 D.D. 4 4 151.151. 假定一个类假定一个类 ABAB 只含有一个整型数据成员只含有一个整型数据成员 a a,当用户不定义任何构造函数时,系统为该类定义,当用户不定义任何构造函数时,系统为该类定义 的无参构造函数为的无参构造函数为( ( ) )。 A.A. AB()AB() a=0;a=0; B.B. AB(intAB(int aa=0):aa=0): a(aa)a(aa) C.C. AB(intAB(int aa):aa): a(aa)a(aa) D.D. AB()AB() 152.152. 假定一个类假定一个类 ABAB 只含有一个整型数据成员只含有一个整型数据成员 a a,用户为该类定义的带参构造函数可以为,用户为该类定义的带参构造函数可以为( ( ) )。 A.A. AB()AB() B.B. AB():AB(): a(0)a(0) C.C. AB(intAB(int aa=0)aa=0) a=aa;a=aa; D.D. AB(intAB(int aa)aa) 153.153. 对于任一个类,用户所能定义的构造函数的个数至多为对于任一个类,用户所能定义的构造函数的个数至多为( ( ) )。 A.A. 0 0 B.B. 1 1 C.C. 2 2 D.D. 任意个任意个 154.154. 对于任一个类,用户所能定义的析构函数的个数至多为对于任一个类,用户所能定义的析构函数的个数至多为( ( ) )。 A.A. 0 0 B.B. 1 1 C.C. 2 2 D.D. 任意个任意个 155.155. 假定假定 ABAB 为一个类,则执行为一个类,则执行 “AB“AB *px=new*px=new ABn;”ABn;”语句时将语句时将( ( ) )。 A.A. 动态分配一个数组动态分配一个数组 B.B. 动态分配一个对象动态分配一个对象 C.C. 静态分配一个数组静态分配一个数组 D.D. 静态分配一个对象静态分配一个对象 156.156. 设设 pxpx 是指向一个类对象的指针变量,则执行是指向一个类对象的指针变量,则执行 “delete“delete px;”px;”语句时,将自动调用该类的语句时,将自动调用该类的( ( ) )。 A.A. 无参构造函数无参构造函数 B.B. 带参构造函数带参构造函数 C.C. 析构函数析构函数 D.D. 拷贝构造函数拷贝构造函数 157.157. 当一个类对象离开它的作用域时,系统自动调用该类的当一个类对象离开它的作用域时,系统自动调用该类的( ( ) )。 A.A. 无参构造函数无参构造函数 B.B. 带参构造函数带参构造函数 C.C. 拷贝构造函数拷贝构造函数 D.D. 析构函数析构函数 158.158. 假定一个类对象数组为假定一个类对象数组为 AnAn,当离开它定义的作用域时,系统自动调用该类析构函数的次数,当离开它定义的作用域时,系统自动调用该类析构函数的次数 为为( ( ) )。 A.A. 0 0 B.B. 1 1 C.C. n n D.D. n-1n-1 159.159. 假定假定 ABAB 为一个类,则执行为一个类,则执行 “AB“AB a10;”a10;”语句时调用该类无参构造函数的次数为语句时调用该类无参构造函数的次数为( ( ) )。 A.A. 0 0 B.B. 1 1 C.C. 9 9 D.D. 1010 160.160. 假定假定 ABAB 为一个类,则执行为一个类,则执行 “AB“AB *px=new*px=new ABn;”ABn;”语句时调用该类无参构造函数的次数为语句时调用该类无参构造函数的次数为( ( ) )。 A.A. n n B.B. n-1n-1 C.C. 1 1 D.D. 0 0 161.161. 假定假定 ABAB 为一个类,则执行为一个类,则执行 “AB“AB a,a, b(3),b(3), *p;”*p;”语句时共调用该类构造函数的次数为语句时共调用该类构造函数的次数为( ( ) )。 A.A. 2 2 B.B. 3 3 C.C. 4 4 D.D. 5 5 162.162. 假定假定 ABAB 为一个类,则执行为一个类,则执行 “AB“AB a(2),a(2), b3,b3, *p4;”*p4;”语句时共调用该类构造函数的次数语句时共调用该类构造函数的次数 为为( ( ) )。 A.A. 3 3 B.B. 4 4 C.C. 5 5 D.D. 9 9 163.163. 假定假定 ABAB 为一个类,则执行为一个类,则执行“AB“AB a,a, b(2),b(2), c3,c3, *p=”*p=”语句时共调用该类无参构造函数语句时共调用该类无参构造函数 的次数为的次数为( ( ) )。 A.A. 5 5 B.B. 6 6 C.C. 3 3 D.D. 4 4 164.164. 假定假定 ABAB 为一个类,则执行为一个类,则执行“AB“AB *p=new*p=new AB(1,2);”AB(1,2);”语句时共调用该类构造函数的次数为语句时共调用该类构造函数的次数为( ( ) )。 A.A. 0 0 B.B. 1 1 C.C. 2 2 D.D. 3 3 165.165. 假定假定 ABAB 为一个类,为一个类,pxpx 为指向该类的一个含有为指向该类的一个含有 n n 个对象的动态数组的指针,则执行个对象的动态数组的指针,则执行“delete“delete px;”px;”语句时共调用该类析构函数的次数为语句时共调用该类析构函数的次数为( ( ) )。 A.A. 0 0 B.B. 1 1 C.C. n n D.D. n+1n+1 166.166. 对类对象成员的初始化是通过构造函数中给出的对类对象成员的初始化是通过构造函数中给出的( ( ) )实现的。实现的。 A.A. 函数体函数体 B.B. 初始化表初始化表 C.C. 参数表参数表 D.D. 初始化表或函数体初始化表或函数体 167.167. 对类中常量成员的初始化是通过构造函数中给出的对类中常量成员的初始化是通过构造函数中给出的( ( ) )实现的。实现的。 A.A. 函数体函数体 B.B. 参数表参数表 C.C. 初始化表初始化表 D.D. 初始化表或函数体初始化表或函数体 168.168. 对类中引用成员的初始化是通过构造函数中给出的对类中引用成员的初始化是通过构造函数中给出的( ( ) )实现的。实现的。 A.A. 函数体函数体 B.B. 参数表参数表 C.C. 初始化表初始化表 D.D. 初始化表或函数体初始化表或函数体 169.169. 类的构造函数可以带有类的构造函数可以带有( ( ) )个参数。个参数。 A.A. 0 0 B.B. 1 1 C.C. 2 2 D.D. 任意任意 170.170. 类的析构函数可以带有类的析构函数可以带有( ( ) )个参数。个参数。 A.A. 0 0 B.B. 1 1 C.C. 2 2 D.D. 任意任意 171.171. 一个类的静态数据成员所表示属性一个类的静态数据成员所表示属性 ( ( ) )。 A.A. 是类的或对象的属性是类的或对象的属性 B.B. 只是对象的属性只是对象的属性 C.C. 只是类的属性只是类的属性 D.D. 类和友元的属性类和友元的属性 172.172. 类的静态成员的访问控制(类的静态成员的访问控制( )。)。 A.A. 只允许被定义为只允许被定义为 privateprivate B.B. 只允许被定义为只允许被定义为 privateprivate 或或 protectedprotected C.C. 只允许被定义为只允许被定义为 publicpublic D.D. 可允许被定义为可允许被定义为 privateprivate、protectedprotected 或或 publicpublic 173.173. 静态成员函数对类的数据成员访问(静态成员函数对类的数据成员访问( )。)。 A.A. 是不允许的是不允许的 B.B. 只允许是静态数据成员只允许是静态数据成员 C.C. 只允许是非静态数据成员只允许是非静态数据成员 D.D. 可允许是静态数据成员或非静态数据成员可允许是静态数据成员或非静态数据成员 174.174. 被非静态成员函数访问的类的数据成员被非静态成员函数访问的类的数据成员( ( ) )。 A.A. 可以是非静态数据成员或静态数据成员可以是非静态数据成员或静态数据成员 B.B. 不可能是类的静态数据成员不可能是类的静态数据成员 C.C. 只能是类的非静态数据成员只能是类的非静态数据成员 D.D. 只能是类的静态数据成员只能是类的静态数据成员 175.175. 静态数据成员的初始化是在(静态数据成员的初始化是在( )中进行的。)中进行的。 A.A. 构造函数构造函数 B.B. 任何成员函数任何成员函数 C.C. 所属类所属类 D.D. 全局区全局区 176.176. 当将一个类当将一个类 A A 或函数或函数 f()f()说明为另一个类说明为另一个类 B B 的友元后,类的友元后,类 A A 或函数或函数 f()f()能够直接访问类能够直接访问类 B B 的的 ( )。)。 A.A. 只能是公有成员只能是公有成员 B.B. 只能是保护成员只能是保护成员 C.C. 只能是除私有成员之外的任何成员只能是除私有成员之外的任何成员 D.D. 具有任何权限的成员具有任何权限的成员 177.177. 引入友元的主要目的是为了(引入友元的主要目的是为了( )。)。 A.A. 增强数据安全性增强数据安全性 B.B. 提高程序的可靠性提高程序的可靠性 C.C. 提高程序的效率和灵活性提高程序的效率和灵活性 D.D. 保证类的封装性保证类的封装性 178.178. 一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明(一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明( )。)。 A.A. 需加上类域的限定需加上类域的限定 B.B. 不需加上类域的限定不需加上类域的限定 C.C. 类域的限定可加可不加类域的限定可加可不加 D.D. 不需要任何限定不需要任何限定 179.179. 一个类的友元不是该类的成员,与该类的关系密切,所以它(一个类的友元不是该类的成员,与该类的关系密切,所以它( )。)。 A.A. 有有 thisthis 指针,有默认操作的对象指针,有默认操作的对象 B.B. 没有没有 thisthis 指针,可以有默认操作的对象指针,可以有默认操作的对象 C.C. 有有 thisthis 指针,不能执行默认操作指针,不能执行默认操作 D.D. 没有没有 thisthis 指针,也就没有默认操作的对象指针,也就没有默认操作的对象 180.180. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( )。)。 A.A. 作为友元函数重载的作为友元函数重载的 1 1 元运算符元运算符 B.B. 作为成员函数重载的作为成员函数重载的 1 1 元运算符元运算符 C.C. 作为友元函数重载的作为友元函数重载的 2 2 元运算符元运算符 D.D. 作为成员函数重载的作为成员函数重载的 2 2 元运算符元运算符 181.181. 在成员函数中进行双目运算符重载时,其参数表中应带有(在成员函数中进行双目运算符重载时,其参数表中应带有( )个参数。)个参数。 A.A. 0 0 B.B. 1 1 C.C. 2 2 D.D. 3 3 182.182. 双目运算符重载为普通函数时,其参数表中应带有(双目运算符重载为普通函数时,其参数表中应带有( )个参数。)个参数。 A.A. 0 0 B.B. 1 1 C.C. 2 2 D.D. 3 3 183.183. 如果表达式如果表达式 a+ba+b 中的中的“+”“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则是作为成员函数重载的运算符,若采用运算符函数调用格式,则 可表示为(可表示为( )。)。 A.A. a.operator+(b)a.operator+(b) B.B. b.operator+(a)b.operator+(a) C.C. operator+(a,b)operator+(a,b) D.D. operator(a+b)operator(a+b) 184.184. 如果表达式如果表达式 a=ba=b 中的中的“=”“=”是作为普通函数重载的运算符,若采用运算符函数调用格式,是作为普通函数重载的运算符,若采用运算符函数调用格式, 则可表示为(则可表示为( )。)。 A.A. a.operator=(b)a.operator=(b) B.B. b.operator=(a)b.operator=(a) C.C. operator=(a,b)operator=(a,b) D.D. operator=(b,a)operator=(b,a) 185.185. 如果表达式如果表达式 a+a+中的中的“+”“+”是作为普通函数重载的运算符,若采用运算符函数调用格式,则是作为普通函数重载的运算符,若采用运算符函数调用格式,则 可表示为(可表示为( )。)。 A.A. a.operator+()a.operator+() B.B. operator+(a)operator+(a) C.C. operator+(a

温馨提示

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

评论

0/150

提交评论