2022年C++选择题汇总题库 .pdf

上传人:C****o 文档编号:24118871 上传时间:2022-07-03 格式:PDF 页数:28 大小:152.89KB
返回 下载 相关 举报
2022年C++选择题汇总题库 .pdf_第1页
第1页 / 共28页
2022年C++选择题汇总题库 .pdf_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《2022年C++选择题汇总题库 .pdf》由会员分享,可在线阅读,更多相关《2022年C++选择题汇总题库 .pdf(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一二章1.下列 C+标点符号中表示行注释开始的是C。A)# B); C)/ D) 2.下列字符串中可以用作C+标示符的是A 。A)_256 B)class C)delete D)5char 3.下列关于C+函数的描述中正确的是C。A)主函数是程序的入口,它是由用户定义的函数调用。B)函数是 C+中面向对象程序设计框架的基本组成元素。C)函数在调用前必须先被声明。D)每个用户定义函数只能被其他函数调用一次。4.下列关于C+关键字的说法中正确的是D。A)关键字是用户为程序中各种需要命名的“元素”所起的名字。B)关键字是对程序中的数据进行操作的一类单词。C)关键字是在程序中起分割内容和界定范围作用的

2、一类单词。D)关键字是C+中预先定义并实现一定功能的一类单词。5.每个 C+程序都必须有且仅有一个B。A)预处理命令B)主函数C)函数D) 语句6.下面关于对象概念的描述中,A是错误的。A)对象就是C 语言中的结构变量B)对象代表着正在创建的系统中的一个实体C)对象是一个状态和操作(或方法)的封装体D) 对象之间的信息传递是通过消息进行的7.C+对 C 语言做了很多改进,下列描述中D 使得 C 语言发生了质变,即从面向过程变成面向对象。A)增加了一些新的运算符B)允许函数重载,并允许设置默认参数C)规定函数说明必须用原型D)引进类和对象的概念8.下面关于类概念的描述中,D是错误的。A)类是抽象

3、数据类型的实现B)类是具有共同行为的若干对象的统一描述体C)类是创建对象的样板D)类就是 C 语言中的结构体类型9.C+语言是以B语言为基础逐渐发展而演变而成的一种程序设计语言。A)Pascal B)C C)Basic D)Simula67 10.C+语言中规定函数的返回值的类型是由D。A)return 语句中的表达式类型所决定的B)调用该函数式的主调用函数类型所决定的C)调用该函数式系统临时确定的D)在定义该函数式所指的数据类型所决定的11.下列关于C+与 C 语言关系的描述中错误的是C。A)C+ 是 C 语言的超集B)C+ 是 C 语言进行了扩充C)C+ 和 C 语言都是面向对象的程序设计

4、语言D)C+ 包含 C 语言的全部语法特征12.下列字符串中可以用做C+标示符的是A。A) _521 B)computer1 C)case D)3var 13.面向对象程序设计思想的主要特征中不包括D。A)封装性B)多态性C)继承性D)功能分解,逐步求精14.下列 C+标点符号中表示一条预处理命令开始的是A 。A)# B)/ C) D);15.下列关于C+类的描述中错误的是C。A)类与类之间可以通过一些手段进行通信和联络B)类用于描述事物的属性和对事物的操作C)类与类之间必须是平等的关系,而不能组成层次关系名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精

5、心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 28 页 - - - - - - - - - D)类与类之间可以通过封装而具有明确的独立性16.下列 C+标点符号中表示一条语句结束的是A。A);B)/ C)# D) 17.下列 C+标点符号中表示复合语句结束的标记符是C。A)# B)/ C) D);18.下列 C+标点符号中表示复合语句开始的标记符是A 。A) B)/ C) D);19.下列关键字中,B即在 C 语言中使用,又在C+语言中使用。A)inline B)break C)private D)public 20.下列字符串中不可以用

6、作C+标示符的是C。A)_521 B)computer123 C)int D)flower 21.下列不正确的选项是D。A)C+ 语言是一种面向对象的程序设计语言,它支持面向对象思想中的3 个主要特征B)标点符号是在程序中起分割内容和界定范围作用的一类单词C)iostream 是一个标准的头文件,定义了一些输入输出流对象D)类与类之间不可以进行通信和联络22.下列不正确的选项是B。A)封装是一种信息隐藏技术B)标识符是由字母、数字、下划线组成的字符串,必须以数字或下划线开头C)编译是由源程序文件转换到目标文件的过程D)一个 C+程序可以认为是函数串23.下列与流程控制有关的关键字是A。A)go

7、to B)static C)int D)sizeof 24.下列正确的选项是A。A)继承是创建一个具有别的类的属性和行为的新类的能力B)C 语言支持面向对象的程序设计C)空白符是一种可以被编译的符号D)标示符不宜过长,一般设定为16 个字符25.下列关于C+语言的发展说法错误的是C 。A)C+ 语言起源于C 语言B)C+ 语言最初被称为“带类的C”C)在 1980 年 C+被命名D)在 1983 年 C+被命名27.下列表示引用的方法中,A是正确的。已知: int k=1000; A)int &x=k; B)char &y; C)int &z=1000; D)float &t=&k; 28.下

8、列程序的执行结果为A。i nclude void mian() int n=10; int* pn=&n; int* &rn=pn; (*pn)+; coutn=nendl; 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 28 页 - - - - - - - - - (*rn)+; cout ” n=” nendl; A) n=11 n=12 B) n=11 n=11 C) n=10 n=11 D) n=11 n=10 29.下列引用的定义中,B是错误

9、的。A)int i; int &j=i; B)int i; int &j; j=i; C)float i; float &j=i; C)char d; char &k=d; 30. B是给对象取了一个别名,他引入了对象的同义词。A)指针B)引用C)枚举D)结构31.下列表示引用的方法中,A是正确的。已知: int m=10; A)int &x=m; B)int &y=10; C)int &z; D)float &t=&m; 32.下面程序的运行结果是A。i nclude void fun(int &a,int &b) int p; p=a; a=b; b=p; void exchange(in

10、t &a,int &b,int &c) if(ab)fun(a,b); if(ac)fun(a,c); if(bc)fun(b,c); void main() int a,b,c; a=12; b=639; c=78; exchange(a,b,c); couta=a,b=b,c=cendl; A)a=639,b=78,c=12 B)a=12,b=639,c=78 C)a=639,b=12,c=78 D)a=78,b=12,c=639 33.下面的程序输出结果为C。include void main() int *ir; int i; ir=&i; i=17; coutint i=iendl;

11、 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 28 页 - - - - - - - - - coutint ir=*irendl; A)int i=17 int ir=0 B)int i=0 int ir=17 C)int i=17 int ir=17 D) 程序语法错误,没有输出结果34.对定义重载函数的下列要求中,D 是错误的。A)要求参数的个数不同B)要求参数中至少有一个类型不同C)要求参数个数相同时,参数类型不同D)要求函数的返回值不同35.

12、下面函数调用语句中实参的个数是A。xxx(v1,v2),(v3,v4,v5),v6); A)3 B)4 C)5 D)6 36.系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是D。A)参数个数B)参数的类型C)函数名称D)函数的类型37.若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是D。A)extern B)register C)auto D)static 38.在 C+中,关于下列设置参数默认值的描述中,正确的是C。A)不允许设置设置参数的默认值B)设置参数默认值只能在定义函数时设置C)设置参数默认值时,应该事先设置右

13、边的再设置左边的D)设置参数默认值时,应该全部参数都设置39.若有下面函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a+b); 在此函数调用语句中实参的个数是A。A)3 B)4 C)5 D)6 40.下列对重载函数的描述中,A是错误的。A)重载函数中不允许使用默认参数B)重载函数中编译时根据参数表进行选择C)不要使用重载函数来描述毫无相干的函数D)构造函数重载将会给初始化带来多种方式41.在函数声明时,下列D项是不必要的。A)函数的类型B)函数参数类型C)函数的名字D)返回值表达式42.在函数的返回值类型与返回值表达式的类型的描述中,错误的是B 。A)函数返回值的类型是在定义

14、函数时确定,在函数调用时是不能改变的B)函数返回值的类型就是返回值表达式的类型C)函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型D)函数返回值类型确定了返回值表达式的类型43.下面变量和函数说明:i nclude char ch=*; void sub(int x,int y,char ch,double *z) switch(ch) 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 28 页 - - - - - - - - -

15、case +:*z=x+y;break; case -:*z=x-y;break; case *:*z=x*y;break; case /:*z=x/y;break; 下面合法的函数调用语句是B。A) sub(10,20,ch,y); B) sub(1.2,3.2,+,&z); C) sub(sub(1,2,+,&y),sub(3,4,+,&x),-,&y); D) sub(a,b,&x,ch); 44.下列程序的输出结果是B。include void sub1(char a,char b) char c; c=a; a=b; b=c; void sub2(char *a,char b) ch

16、ar c; c=*a; *a=b; b=c; void sub3(char *a,char *b) char c; c=*a; *a=*b; *b=c; void main() char a,b; a=A; b=B; sub1(a,b); putchar(a); putchar(b); a=A; b=B; sub2(&a,b); putchar(a); putchar(b); a=A; b=B; sub3(&a,&b); putchar(a); putchar(b); putchar(n); 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精

17、选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 28 页 - - - - - - - - - A)ABABAB B)ABBBBA C)ABBABA D)ABABBA 45.下面程序的正确执行结果为D。include int f(int); void main() int a=2,i; for(i=0;i3;i+) coutf(a) ; coutendl; int f(int a) int b=0; static int c=3; b+; c+; return (a+b+c); A)7 7 7 B)7 10 13 C)7 9 11 D)7 8 9 46.下

18、面程序的正确执行结果为C 。i nclude void fun(char * *m) m+; cout*mendl; void main() static char *a=MORNING,AFTERNOON,EVENING; char * *n; n=a; fun(n); A)为空B)MORNING C)AFTERNOON D)EVENING 47.下面程序的输出结果B。i nclude int fun(char *s) char *p=s; while(*p!=0) p+; return (p-s); 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心

19、整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 28 页 - - - - - - - - - void main() coutfun(ABCDEF)endl; A)3 B)6 C)8 D)0 48.当一个函数无返回值时,函数的类型应定义为A。A)void B)任意C)int D) 无49.下面叙述中不正确的是D。A)在函数中,通过return 语句传回函数值B)在函数中,可以有多条return 语句C)主函数名main()后面的一对圆括号中也可以带有形参D)调用函数必须在一条独立的语句中完成50.下列D的调用方式是引用调用。A)形参是指针,实

20、参是地址值B)形参和实参都是变量C)形参是数组,实参是变量D)形参是引用,实参是变量51.在 C+中,函数原型不能标识D。A)函数的返回类型B) 函数参数的个数C)函数参数类型D)函数的功能52.下列标识符中,C是文件级作用域的。A)函数形参B)语句标号C)外部静态类标识符D)自动类标识符53.在传值调用中,要求C。A)形参和实参类型任意,个数相等B)实参和形参类型都完全一致,个数相等C)实参和形参对应的类型一致,个数相等D)实参和形参对应的类型一致个数任意54.有一个 int 型变量,在程序中频繁使用,最好定义它为A 。A)register B)auto C)extern D)static

21、55.考虑下面的函数原型:void testDefaulParam(int a,int b=7,char z=*); 下面函数调用中不合法的C。A)testDefaulParam(5); B)testDefaulParam(5,8); C)testDefaulParam(5,#); D)testDefaulParam(0,0,*); 56.采用函数重载的目的在于D。A)实现共享B)减少空间C)提高速度D)使用方便,提高可靠性57.要求通过函数来实现一种不太复杂的功能,并且要加快执行速度,选用A。A)内联函数B)重载函数C)递归函数D) 嵌套函数58.下面程序的输出结果是D。i nclude v

22、oid fun(int i); int main() int n=2; fun(n); return 0; void fun(int i) 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 28 页 - - - - - - - - - static int x=1; int y=1; if(i0) +x; +y; coutx y ; fun(i-1); A)语法错误,不能输出正确结果B)2 2 2 2 C)2 2 3 3 D)2 2 3 2 59.下面程序

23、的输出结果为B。i nclude void prt(int *x,int *y,int *z) cout+ + *x,+ + *y,*(z+)endl; int a=10; int c=20; int b=40; void main() prt(&a,&b,&c); prt(&a,&b,&c); A)11,42,31 12,21,41 B)11,41,20 12,42,20 C)11,21,40 11,21,41 D)11,41,21 12,42,22 60.下面程序的正确运行结果为C。i nclude fun(int a,int b) static int m=1,i=2; i+=m+1;

24、m=i+a+b; return(m); void main() int k=5,m=2,p; p=fun(k,m); coutp,; p=fun(k,m); coutpendl; 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 28 页 - - - - - - - - - A)11,22 B)12,23 C)11,23 D)10,23 61.下面程序的输出结果是D。i nclude void fun(int *s,int *y) static int t

25、=3; *y=st; t-; void main() int a=1,2,3,4; int i,x=10; for(i=0;i4;i+) fun(a,&x); coutx,; coutendl; A)1,2,3,4 B)0,0,0,0 C)4,4,4,4 D)4,3,2,1 62.下面程序的输出结果是A。i nclude int fun(char *s) char *p=s; while(*p!=0) p+; return (p-s); void main() coutfun(ABCDEFGHIJKLMNIPQRST)endl; A)20 B)6 C)19 D)0 63.下面程序的输出结果是C

26、。i nclude int x=10; void fun(int c); void main() fun(x); coutx=xendl; 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 28 页 - - - - - - - - - void fun(int x) x=1; A)x=0 B)x=1 C)x=10 D) 语法错误,不能输出正确结果64.下面程序的执行结果是B 。i nclude void main() void swap(); extern

27、 int a,b; a=3; b=10; swap(); couta=a,b=endl; int a,b; void swap() int temp; temp=a; a=b; b=temp; A)a=3,b=10 B)a=10,b=3 C)a=temp,b=temp D)语法错误,不能输出正确结果65.下列程序的输出结果是A。i nclude void f() static int i=15; i+; couti=iendl; void main() for(int k=0;k2;k+) f(); A)i=16 i=17 B)i=16 i=15 C)i=15 i=16 D)i=15 i=17

28、 66.在横线处填上适当的语句C,使下面程序执行结果是13,18, 23。include int add(int x,int y=8); void main() 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 28 页 - - - - - - - - - ; coutadd(a),; coutadd(a,add(a),; coutadd(a,add(a,add(a)endl; int add(int a,int b) int s=a+b; return

29、 s; A)int a=3 B)int b=3 C)int a=5 D)int b=5 67.在横线处填上适当的语句A ,使下面的程序的执行结果是19 24 30 37 45。include int fun(int a) static int x=10; int y=1; x+=a; a+; y+; return(x+y+a); void main() int i=3; while(i8) ; coutendl; A)coutfun(i+) B)coutfun(i) C)coutfun(i+) , D)coutfun(i) , 68.在 C+语言中,局部变量的隐含存储类型是D。A)auto B

30、)static C)extern D)无存储类型69.下面程序的输出结果为D。include int fun(char *s); int main() coutp=3 C)s.*p=3 D)*s.p=3 9.已知 f1(int) 是类 X 的公有成员函数,p 是指向成员f1()的指针,采用它赋值, _ B _是正确的 . A)p=f1 B)p=X:f1 C)p=x:f1 D)p=f1() 10.已知类 X 中的一个成员函数说明如下: 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - -

31、- - - 第 12 页,共 28 页 - - - - - - - - - Void Set(x &a); 其中 ,X &a 的含义是 _ C _. A)指向类 X 的指针为a B)将 a 的地址赋给变量Set C)a 是类 X 的对象引用,用来做为Set()的形参D)变量 X 是 a按位相与作为函数Set()的参数11.一个类的友元函数能够访问该类的_ D _. A)私有成员B)保护成员C)公有成员D)所有成员12.有关类和对象的说法不正确的是_ B _. A)对象是类的一个实例B)一个类只能有一个对象C)任何一个对象只能属于一个具体的类D)类与对象的关系和数据类型和变量的关系相似13.下列

32、静态数据成员的特性中,_ D _是错误的 . A)说明静态数据成员时前边要加关键字static 来修饰B)静态数据成员在类体外进行初始化C)引用静态数据成员时,要在静态数据成员名前加和作用域运算符D)静态数据成员不是所有对象所共有的14.类模板的使用实际上是类模板实例化成一个具体的_ A _. A)类B)对象C)函数D) 模板类15.通常拷贝构造函数的参数表是_ C _ _. A)某个对象名B)某个对象的成员名C)某个对象的引用名D)某个对象的指针名16.关于常数据成员的说法不正确的是_ D _. A)常数据成员的定义形式与一般常量的定义形式相同,只不过常数据成员的定义必须出现在类体中 . B

33、)常数据成员必须进行初始化,并且不能被更新C)常数据成员通过构造函数的成员初始化列表进行初始化D)常数据成员可以在定义时直接初始化17.已知 X 类 .则当程序执行到语句X array3; 时,调用了 _D_次构造函数 . A)0 B)1 C)2 D)3 18.类模板的模板参数_ D _. A)只可作为数据成员的类型B)只可作为成员函数的返回类型C)只可作为成员函数的参数类型D)以上三者皆可19.下列 _D_不是构造函数的特征A)构造函数的函数名与类名相同B)构造函数可以重载C)构造函数可以设置默认参数D)构造函数必须指定类型说明20.下列程序中说明的公有成员是_ D _. class Loc

34、ation int X; public: void init(int initX,int initY); 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 28 页 - - - - - - - - - private: int Y; public: int GetX(); int GetY(); A)X B)init(int initX,int initY) C)GetX(),GetY() D)B) 和 C)都是21.类定义的内容允许被其他对象无限制地存

35、取是_ C _. A)private 部分B)protected 部分C)public 部分D) 以上都不对22.关于下面程度段说法正确的是_ A _. class X private: int n; punblic: X(X&); X:X(X&x) n=x.n X obj1,obj2; obj2(obj1); A)语句 obj2(obj1) ;的功能是用对象obj1 初始化具有相同类类型的对象obj2 B)语句 obj2(obj1) ;的功能是用对象obj2 初始化具有相同类类型的对象obj1 C) X(X&x) 也可以不使用引用参数而仍然是拷贝构造函数D) X(X&x)不能访问对象的私有成

36、员23.this 指针是 C+ 实现 _B_的一种机制 . A)抽象B)封装C)继承D) 重载24下面程序段中是内联函数的是_ C _。chass location private: int x ,y; public: void init(int initx,int inity) x=initx; y=inity; int getx()return x; int gety(); ; 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 28 页 - - -

37、- - - - - - inline int location:gety()return y; A) init (int initx,int inity) B) getx(),gety() C) A) 和 B)都是D) A )和 getx() 25关于对象成员的构造函数的调用顺序,说法正确的是_ C _。A)与它们在成员初始化列表中给出的顺序相同B)与析构函数的调用顺序相同C)与它们在类中说明顺序相同D)以上说法都不对26类摸板trmplateclassX ,其中,友元函数f()成为该类模板实例化的每个模板类的友元,则其说明应为_ A _. A)friend void f() B)friend

38、 void f(X&); C)friend void A:f(); D)friend void C:f(X&); 27.运算符 * 的功能是(A ) 。A )用来表示指向对象指针对指向类成员指针的操作。B)用来表示对象类成员的操作。C)用来表示指向对象指针对类成员的操作。D)用来表示对象指向类成员指针的操作。28.下列说明中const char * ptr; ptr 应该是C 。A )指向字符的指针B)指向字符的常量指针C)指向字符串常量的指针D)指向字符串的常量指针29.下面关于友元的描述中,错误的是(D) 。A) 友元函数可以访问该类的私有数据成员。B) 一个类的友元类中的成员函数都是这个

39、类的友元函数。C) 友元可以提高程序的运行效率。D) 类与类之间的友元关系可以继承。30一个(C )允许拥护为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。A) 函数模板B)模板函数C) 类模板D)模板类31有关构造函数说法不正确的是(D)A ) 构造函数的名字和类的名字一样。B) 在创建对象时,系统自动调用构造函数C) 构造函数无任何函数类型D) 构造函数有且只有一个32下面对模板的声明,正确的是(C)A ) template B) template C) template D) template 33. ( D)是析构函数的特征。A) 析构函数可以有

40、一个或多个参数B) 析构函数定义只能在类体内C) 析构函数名与类名不同D)一个类中只能定义一个析构函数34下列关于构造函数的描述中,错误的是 ( C) 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 15 页,共 28 页 - - - - - - - - - A) 构造函数可以设置默认参数B) 构造函数在说明类变量时自动执行C) 构造函数可以对静态数据成员进行初始化D) 构造函数可以重载35. 对于类A,语句 void (A:*P)(void);表明 ( A) A)

41、 P 是一个指向类成员函数的指针B) P 是类 A 的一个成员C) P 是类 A 的一个对象D) P 是一个指向类对象的指针36运算符delete 删除一个动态对象时( C) A) 首先为该动态对象调用构造函数,再释放其占用的内存B) 首先释放该动态对象占用的内存,再为其调用构造函数C) 首先为该动态对象调用析构函数,再释放其占用的内存D) 首先释放动态对象占用的内存,再为其调用析构函数37在类的定义形式中,数据成员、成员函数和(A )组成了类定义体。A) 成员的访问控制信息B) 公有消息C) 私有消息D)保护消息38对于任意一个类,析构函数的个数最多为(B)A) 0 B) 1 C) 2 D)

42、3 39 (C )的功能是对对象进行初始化。A) 析构函数B) 数据成员C) 构造函数D)静态数据成员40友元关系不能(A)A)继承B)是类与类之间是关系C)是一个类的成员函数与另一个类的关系D)提高程序的运行效率41 (A )只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中的非静态成员变量。A) 静态函数B) 虚函数C)构造函数D)析构函数42下面说法正确的是(B)A) 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B) 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C) 类的内联函数必须在类体内定义D)类的内联函数必须在类体外关键字inline

43、 定义43下列关于成员访问权限的描述中,不正确的是(B)A) 公有数据成员和公有成员函数都可以被类对象直接处理B) 类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问C) 保护成员在派生类中可以被访问,而私有成员不可以D)只有类或派生类的成员函数和友元类或友元函数可以访问保护成员44局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用( A)提供对全局变量的访问A) 域运算符B) 类运算符C) 重载D)引用45缺省析构函数的函数体是(C )不存在)随机产生的)空的)无法确定的、46在下列关键字中,用以说明类中公有成员的是(A )A) public B) p

44、rivate C) protected D)friend 47下面说法中正确的是(B )A) 一个类只能定义一个构造函数,但可以定义多个析构函数B) 一个类只能定义一个析构函数,但可以定义多个构造函数名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 16 页,共 28 页 - - - - - - - - - C) 构造函数与析构函数同名,只要名字前加了一个求反符号()D)构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是 void 类型也不可以48关于

45、delete 运算符的下列描述中, ( C )是错误的。A) 它必须用语new 返回的指针B) 它也适用于空指针C) 对一个指针可以使用多次该运算符D)指针名前只用一对方括号符,不管所删除数组的维数49关于成员函数的特征的下述描述中,错误的是(A)A) 成员函数一定是内联函数B) 成员函数可以重载C) 成员函数可以设置参数的默认值D)成员函数可以是静态的50假定 x 为一个类,执行X a3,*p2; 语句时会自动调用该类的构造函数(B)次A) 2 B) 3 C) 4 D) 5 51由于数据隐藏的需要,静态数据成员通常被说明为(A)A) 私有的B) 公有的C) 保护的D)不可访问的52假定 My

46、Class 为一个类,则该类的拷贝构造函数的声明语句为(C)A) MyClass(MyClass x) B) MyClass&(MyClass x) C) MyClass(MyClass &x) D)MyClass(MyClass *x) 53关于 new 运算符的下列描述中,( D)是错误的 . A) 它可以用来动态创建对象和对象数组B) 使用它创建对象或对象数组,可以使用运算符DELETE 删除C) 使用它创建对象时要调用构造函数D) 使用它调用对象数组时不允许指定初始值54对于常成员函数,下列描述正确的是(C )常成员函数只能修改常数据成员B)常成员函数只能修改一般数据成员C)常成员函数

47、不能修改任何数据成员D)_成员函数只能通过常对象调用55友元的作用是(A)提高程序是运行效率B)加强类的封装性C)实现数据的隐藏性D)增加成员函数的种类56.一个类的友元函数或友元类能够通过成员操作符访问该类的(D )A) 私有成员B) 公有成员C) 保护成员D)公有成员、保护成员和私有成员57下面说法中正确的是(D)A) 当声明的内容不同时,声明同一个名字的两个类是允许的B) 不完全声明的类也可以实例化C) 声明同一个名字的两个类时,要求声明的内容也相同D)声明同一个名字的两个类是错误的58下面对静态数据成员的描述中,正确的是(A)A) 静态数据成员是类的所有对象共享的数据B) 类的每个对象

48、都有自己的静态数据成员C) 类的不同对象有不同的静态数据成员值D)静态数据成员不能通过类的对象调用59下列关于对象数组的描述中,错误的是(D)A) 对象数组的下标是从0 开始的名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 17 页,共 28 页 - - - - - - - - - B) 对象数组的数组名是一个常量指针C) 对象数组的没个元素是同一个类的对象D)对象数组只能赋初值,而不能在定义后赋值60对于下面定义的类A 在函数 f()中将对象成员n 的值修改为60

49、 的语句应该是(C )class A public: A(int x)n=x; coid SetNum(int n1)n=n1; private int n; int f() a*ptr=new A(6); A) A(60) B) SetNum(60) C) Ptr-SetNum(60) D)Ptr-n=60 61.已知 :print() 函数是一个类的常成员函数,它无返回值 ,下列表示中 ,( A )是正确的A) void print() const B) const void print() C) void const print() D) void print(const) 62下面是类

50、MyClass 的定义,对定义中各语句描述正确的是(D)class MyClass private: int X,y,Z; public; coid MyClass(int a)X=a; file:/ int f(int a,int b) file:/ X=a; Y=b; Int f(int a,int b,int c=0) file:/ a; Y=b; Z=c; Static coid g() X=10; file:/ A) 语句是类MyClass 的构造函数定义B) 语句和语句实现类成员函数的重载C) 语句实现对类成员变量X 的更新操作名师归纳总结 精品学习资料 - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁