《C 选择题-题库.docx》由会员分享,可在线阅读,更多相关《C 选择题-题库.docx(32页珍藏版)》请在课桌文档上搜索。
1、1 .下列C+标点符号中表示行注释开始的是A)#B);C)ZD)2. 下列字符串中可以用作C+标示符的是AoA)_256B)classC)deleteD)5char3. 下列关于C+函数的描述中正确的是C。A) 主函数是程序的入口,它是由用户定义的函数调用。B) 函数是C+中面向对象程序设计框架的基本组成元素。C) 函数在调用前必须先被声明。D)每个用户定义函数只能被其他函数调用一次。4下列关于C+关键字的说法中正确的是D。A) 关键字是用户为程序中各种需要命名的“元素”所起的名字。B) 关键字是对程序中的数据进行操作的一类单词。C) 关键字是在程序中起分割内容和界定范围作用的类单词。5每个C
2、+程序都必须有且仅有个BoA)预处理命令B)主函数C)函数D)语句A)增加了一些新的运算符C)规定函数说明必须用原型8卜面关于类概念的描述中,A)类是抽象数据类型的实现O类是创建对象的样板A)PascalB)CC)BasicD)Simula6710. C+语言中规定函数的返回值的类型是由DA) return语句中的表达式类型所决定的B)调用该函数式的主调用函数类型所决定的C)调用该函数式系统临时确定的D)在定义该函数式所指的数据类型所决定的11.下列关于C+与C语言关系的描述中错误的是A) C+是C语言的超集C)C+和C语言都是面向对象的程序设计语言12.用做A)521A)封装性下列字符串中可
3、以C+标示符的是B) computer-1C)caseB)多态性C)继承性CoB) C+是C语言进行了扩充D)C+包含C语言的全部语法特征A0D)3var14.下列C+标点符号中表示一条预处理命令开始的是D0D)功能分解,逐步求精A。A)#B)/C)D):6下面关于对象概念的描述中,A是错误的。A)对象就是C语言中的结构变量B)对象代表着正在创建的系统中的一个实体D)关键字是C+中预先定义并实现定功能的类单词。7.C+对C语言做了很多改进,下列描述中过D使得C语言发生了质变,即从面向程变成面向对象。C)对象是一个状态和操作(或方法)的封装体D)对象之间的信息传递是通过消息进行的B)允许函数重载
4、,并允许设置默认参数D)引进类和对象的概念D是错误的。B)类是具有共同行为的若干对象的统一描述体D)类就是C语言中的结构体类型9.C+语言是以B语言为基础逐渐发展而演变而成的一种程序设计语言。15.卜列关于C+类的描述中错误的是CA)B)C)类与类之间可以通过一些手段进行通信和联络类用于描述事物的属性和对事物的操作类与类之间必须是平等的关系,而不能组成层次关系D)类与类之间可以通过封装而具有明确的独立性16.束的是下列AC+标点符号中表示条语句结A)B)/C)#D)17下列C+标点符号中表示复合语句结束的标记符是CoA)18.A)19.A)B)/C)D);20.A)21.下列C+标点符号中表示
5、复合语句开始的标记符是下列关键字中,inlineD)publicB)/C)D);B即在C语言中使用,又在C+语言中使用。B)breakC)private下列字符串中不可以用作C+标示符的是521B)computer123C)intD)flower下列不正确的选项是DoA)C+语言是种面向对象的程序设计语言,它支持面向对象思想中的3个主要特征B)标点符号是在程序中起分割内容和界定范围作用的一类单词C)iostream是一个标准的头文件,定义了一些输入输出流对象D)类与类之间不可以进行通信和联络22. 下列不正确的选项是BoA)封装是一种信息隐藏技术B)标识符是由字母、数字、下划线组成的字符串,必
6、须以数字或下划线开头C)编译是由源程序文件转换到目标文件的过程D)一个C+程序可以认为是函数申23. 下列与流程控制有关的关键字是AA)gotoB)staticC)intD)sizeof24. 下列正确的选项是AcA)继承是创建一个具有别的类的属性和行为的新类的能力B)C语言支持面向对象的程序设计C)空白符是一种可以被编译的符号D)标示符不宜过长,一般设定为16个字符A)C+语言起源于C语言B)C+语言最初被称为“带类的C”25.下列关于C+语言的发展说法错误的是CC)在1980年C+被命名D)在1983年C+被命名27 .下列表示引用的方法中,A是正确的。已知:intk=1000;A)int
7、&x=k;B)char&y;C)intD)float&t=&k;&z=1000;28 .下列程序的执行结果为Ar#includevoidmian()intn=10;int*pn=&n;int*&rn=pn;(*pn)+;coutn=nendl;(*m)+;cout“n=nendl;A)n=11n=12C)n=10n=1129 .下列引用的定义中,BB)n=11D)n=11n=11n=10A)inti;C)floati;int&j=i;float&j=i;是错误的。B)inti;.,0.,nt&j;30 .B是给对象取了个别名,他引入了对象的同义词。A)指针B)引用O枚举D)结构31 .下列表示
8、引用的方法中,A是正确的。已知:intm=10;C)chard;char&k=d;A)&z;int&x=m;B)int&y=10;C)intD)float&t=&m;32 .下面程序的运行结果是A0#includevoidfn(int&a,int&b)intp;p=a;a=b;b=p;)voidexchange(int&a,int&b,int&c)(if(ab)fun(a,b);if(ac)fun(a,c);if(bc)fun(b,c);)voidmain()inta,b,c;a=12;b=639;c=78;a=639,b=78,c=12B)a=12,b=639,c=78exchange(a,
9、b,c);couta=a,b=b,c=cendl;C)a=639,b=12,c=7833 .下面的程序输出结果为Co#includevoidmain()(int*ir;inti;D)a=78,b=12,c=639ir=&i;i=17;cotinti=iendl;coutintir=*irendl;A)inti=17.,.C,ntr=0C)inti=17intir=17B)inti=0intir=17D)程序语法错误,没有输出结果34.对定义重载函数的下列要求中,A)要求参数的个数不同C)要求参数个数相同时,参数类型不同35.下面函数调用语句中实参的个数是D是错误的。Bb要求参数中至少有个类型不
10、同D)要求函数的返回值不同Aoxx(v1,v2),(v3,v4,v5),v6);D)6AnRU36 .系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是D。A)参数个数B)参数的类型C)函数名称D)函数的类型37 .若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是D0A)externB)registerC)autoD)static38在C+中,关于下列设置参数默认值的描述中,正确的是CA)不允许设置设置参数的默认值B)设置参数默认值只能在定义函数时设置C)设置参数默认值时,应该事先设置右边的再设置左边的D)设置参数默认值时
11、,应该全部参数都设置39若有下面函数调用语句:fn(a+b,(x,y),fun(n+k,d,(a+b);在此函数调用语句中实参的个数是A。A)3B)4C)5D)640 .下列对重载函数的描述中,A是错误的。A)重载函数中不允许使用默认参数B)重载函数中编译时根据参数表进行选择C)不要使用重载函数来描述亳无相干的函数D)构造函数重载将会给初始化带来多种方式41 .在函数声明时,下列D项是不必要的。A)函数的类型B)函数参数类型C)函数的名字D)返回值表达式42 .在函数的返回值类型与返回值表达式的类型的描述中,错误的是BA)函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的B)函数返回
12、值的类型就是返回值表达式的类型C)函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型D)函数返回值类型确定了返回值表达式的类型43 .下面变量和函数说明:#includecharch=*;voidsub(intx,inty,charch,double*z)switch(ch)case+:*z=x+y;break;case-:*z=x-y;break;case,w,:*z=x*y;break;case,*z=xyjbreak;)下面合法的函数调用语句是BA)sub(10,20,ch,y);B)sub(1.2,3.2,+,z);C)sub(sub(1,2,+y),sub(3,
13、4,+),-,y);D)sub(a,b,&x,ch);44. 下列程序的输出结果是B#includevoidsub1(chara,charb)charc;c=a;a=b;b=c;)voidsub2(char*a,charb)charc;c=*a;*a=b;b=c;)voidsub3(char*alchar*b)charc;c=*a;*a=*b;*b=c;)voidmain()(chara,b;a=,A,;b=B;sub1(a,b);putchar(八);putchar(b);a=A,;b=B;sub2(&a,b);ptchar(八);putchar(b);a=A;b-B,;sub3(&a,&b
14、);putchar(八);putchar(b);putchar(,n);A)ABABABB)ABBBBAC)ABBABAD)ABABBA45 .下面程序的正确执行结果为D。#includeintf(int);voidmain()inta=2,i;for(i=0;i3;i+)coutf(八);coutendl;)intf(inta)(intb=0;staticintc=3;b+;c+;return(a+b+c);)A)777B)71013C)7911D)78946 .下面程序的正确执行结果为C。#includevoidfun(char*m)m+;cout*mendl;)voidmain()(st
15、aticchar*aO=,MORNING1AFTERNOON,EVENING;char*n;n=a;fun(n);)A)为空BMORNINGC)AFTERNOOND)EVENING47 .下面程序的输出结果Bo#includeintfun(char*s)char*p=s;WhiIe(*p!=t0)P+;return(p-s);voidmain()coutfun(ABCDEF)endl;A)3B)608D)048 .当一个函数无返回值时,函数的类型应定义为A)VOidB)任意C)intD)无49 .下面叙述中不正确的是D。A)在函数中,通过return语句传回函数值B)在函数中,可以有多条ret
16、urn语句C) 主函数名main()后面的一对圆括号中也可以带有形参D) 调用函数必须在一条独立的语句中完成50 .下列D的调用方式是引用调用。A)形参是指针,实参是地址值B)形参和实参都是变量C)形参是数组,实参是变量D)形参是引用,实参是变量51 在C+中,函数原型不能标识D。A)函数的返回类型B)函数参数的个数O函数参数类型D)函数的功能52 .下列标识符中,C是文件级作用域的。A)函数形参B)语句标号C)外部静态类标识符D)自动类标识符53 .在传值调用中,要求CcA)形参和实参类型任意,个数相等B)实参和形参类型都完全一致,个数相等C)实参和形参对应的类型致,个数相等D)实参和形参对
17、应的类型致个数任意A)testDefaulParam(5);C)testDefaulParam(5,T);56.采用函数重载的目的在于A)实现共享B)减少空间A)内联函数B)重载函数C)递归函数D)嵌套函数54 .有一个int型变量,在程序中频繁使用,最好定义它为AA)registerB)autoC)externD)static55.考虑下面的函数原型:voidtestDefaulParam(inta,intb=7,charz=*);下面函数调用中不合法的C。B)testDefaulParam(5,8);D)testDefaulParam(O,O,*);DoC)提高速度D)使用方便,提高可靠性
18、57 .要求通过函数来实现一种不太复杂的功能,并且要加快执行速度,选用Ao58 .卜.面程序的输出结果是#includevoidfun(inti);intmain()intn=2;fun(n);returnO;voidfun(inti)staticintx=1;inty=1;if(iO)(+x;+y;coutx,y,;fun(i-1);)A)语法错误,不能输出正确D)2232结果B)2222C)223359. 下面程序的输出结果为Bo#includevoidprt(int*x,int*y,int*z)(cout+*x11,+*yR,R*(z+)endl;)inta=10;intc=20;int
19、b=40;voidmain()prt(&a,&b,&c);prt(&a,&b,&c);A)11,42,3112,21S)11,41,2012,42,20C)11,21,4011,21,41D)11,41,2160.下面程序的正确运行结果为C#includefun(inta,intb)12,42,22Ostaticintm=1,i=2;i+=m+1;m=i+a+b;retum(m);voidmain()intk=5,m=2,p;p=fun(k,m);coutp,H;p=fun(k,m);coutpendl;A)11,22B)12,23C)11,23D)10,2361.下面程序的输出结果是Do#i
20、ncludevoidfun(int*s,int*y)staticintt=3;*y=st;t-;)voidmain()intaQ=1,2,3,4;inti,x=10;for(i=0;i4;i+)(fun(a,&x);coutx,t;coutendl;)A)1,2,3,4B)0,0,0,0C)4,4,4,4D)4,3,2,162. 下面程序的输出结果是#iAnncludeintfun(char*s)char*p=s;while(*p!=,0,)P+;return(p-s);)voidmain()cotfun(,ABCDEFGHIJK1.MNIPQRST,)endHA)20B)6C)19D)063
21、. 下面程序的输出结果是C0#includeintx=10;voidfun(intc);voidmain()fun(x);coutx=xendl;voidfun(intx)x=1;)A)x=0B)x=1C)x=10D)语法错误,不能输出正确结果64. 下面程序的执行结果是B0#includevoidmain()(voidswap();externinta,b;a=3;b=10;swap();couta=a,b=endl;)inta,b;voidswap()(inttemp;temp=a;a=b;b=temp;)A)a=3,b=10B)a=10,b=3C)a=temp,b=tempD)语法错误,
22、不能输出正确结果AC65.下列程序的输出结果是#includevoidf()staticinti=15;i+;couti=iendl;jvoidmain()for(intk=0;k2;k+)f();)八i=15C)i=15i=16D)i=15i=17C,使下面程序执行结果是A)=16=17B)=1666.在横线处填上适当的语句13,18,23.#includeintadd(intx,inty=8);voidmain()coutadd(八),M;coutadd(a,add(八)),;coutadd(a,add(a,add(八))endl;)intadd(inta,intb)(ints=a+b;r
23、eturns;)A)inta=3B)intb=3C)inta=5D)intb=567在横线处境上适当的语句A,使下面的程序的执行结果是1924303745o#includeintfun(inta)(staticintx=10;inty=1;x+=a;a+;y+;return(x+y+a);voidmain()(inti=3;while(i8)cotendl;A)coutfun(i+)B)coutfun(i)C)coutfn(i+),mD)coutfun(i),68 .在C+语言中,局部变量的隐含存储类型是DA)autoB)staticC)externD)无存储类型69 .下面程序的输出结果为D
24、。#includeintfun(char*s);intmain()(coutp=3C)s.*p=3D)*s.p=39 .已知f1(int)是类X的公有成员函数,p是指向成员f1()的指针,采用它赋值,一_B_是正确的.A)p=f1B)p=X:f1C)p=x:f1D)p=f1()10 .已知类X中的一个成员函数说明如下:VoidSet(x&a);其中,X&a的含义是CA)指向类X的指针为aB) 将a的地址赋给变量SetC) a是类X的对象引用,用来做为SetO的形参D) 变量X是a按位相与作为函数SetO的参数11一个类的友元函数能够访问该类的D_.A)私有成员B)保护成员C)公有成员D)所有成
25、员12.有关类和对象的说法不正确的是BA) 对象是类的一个实例B) 一个类只能有一个对象O任何一个对象只能属于一个具体的类D)类与对象的关系和数据类型和变量的关系相似13下列静态数据成员的特性中,D是错误的.A) 说明静态数据成员时前边要加关键字StatiC来修饰B) 静态数据成员在类体外进行初始化O引用静态数据成员时,要在静态数据成员名前加V类名和作用域运算符D)静态数据成员不是所有对象所共有的14类模板的使用实际上是类模板实例化成一个具体的A.A)类B)对象C)函数D)模板类15通常拷贝构造函数的参数表是C.A)某个对象名B)某个对象的成员名C)某个对象的引用名D)某个对象的指针名16关于
26、常数据成员的说法不正确的是匚.A)常数据成员的定义形式与一般常量的定义形式相同,只不过常数据成员的定义必须出现在类体中B)常数据成员必须进行初始化,并且不能被更新O常数据成员通过构造函数的成员初始化列表进行初始化D)常数据成员可以在定义时直接初始化17已知X类.则当程序执行到语句Xarray3;时,调用了卫次构造函数A)0B)1C)2D)318 类模板的模板参数_DA)只可作为数据成员的类型B)只可作为成员函数的返回类型C)只可作为成员函数的参数类型D)以上三者皆可19 下列_D_不是构造函数的特征A)构造函数的函数名与类名相同B)构造函数可以重载C)构造函数可以设置默认参数D)构造函数必须指
27、定类型说明20 下列程序中说明的公有成员是_1.1.class1.ocationintX;public:voidinit(intinitX,intinitY);private:intY;public:intGetX();intGetY();)A) XB) init(intinitX,intinitY)C)GetX(),GetY()D)B)和C)都是21.类定义的内容允许被其他对象无限制地存取是C.A)private部分B)protected部分C)public部分D)以上都不对22关于下面程度段说法正确的是A.classX(private:intn;punblic:X(X&);X:X(X&x)
28、n=x.nXobj1,obj2;obj2(obj1);A)语句obj2(objl):的功能是用对象Objl初始化具有相同类类型的对象obj2B)语句obj2(ObjD:的功能是用对象obj2初始化具有相同类类型的对象ObjlC) X(X&x)也可以不使用引用参数而仍然是拷贝构造函数D)X(X&x)不能访问对象的私有成员23.this指针是C+实现B_的一种机制.A)抽象B)封装C)继承D)重载24下面程序段中是内联函数的是0。chassIocation(private:intx,y;public:voidinit(intinitx,intinity)x=initx;y=inity;)intge
29、tx()returnx;intgety();;inIineintIocation:gety()returny;A)init(intinitx,intinity)B)getx(),gety()C)A)和B)都是D)A)和getx()25关于对象成员的构造函数的调用顺序,说法正确的是C。A)与它们在成员初始化列表中给出的顺序相同B)与析构函数的调用顺序相同O与它们在类中说明顺序相同D)以上说法都不对26类摸板trmplateclassX,其中,友元函数f()成为该类模板实例化的每个模板类的友元,则其说明应为A.A) friendvoidf()B) friendvoidf(X&);C) friend
30、voidA:f();D) friendvoidC:f(X&);27运算符一*的功能是(A),.A)用来表示指向对象指针对指向类成员指针的操作。B)用来表示对象类成员的操作。O用来表示指向对象指针对类成员的操作。D)用来表示对象指向类成员指针的操作。28 .下列说明中constchar*ptr;ptr应该是C0A)指向字符的指针B)指向字符的常量指针O指向字符串常量的指针D)指向字符串的常量指针29 .下面关于友元的描述中,错误的是(D)OA) 友元函数可以访问该类的私有数据成员。B) 一个类的友元类中的成员函数都是这个类的友元函数。O友元可以提高程序的运行效率。D)类与类之间的友元关系可以继承
31、。30 一个(C)允许拥护为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。A)函数模板B)模板函数O类模板D)模板类31 .有关构造函数说法不正确的是(D)A)构造函数的名字和类的名字一样。B)在创建对象时,系统自动调用构造函数O构造函数无任何函数类型D)构造函数有且只有一个32 .下面对模板的声明,正确的是(C)A)templateB)templateC)templateD)template33 .(D)是析构函数的特征。A)析构函数可以有一个或多个参数C)析构函数名与类名不同B)析构函数定义只能在类体内D)一个类中只能定义一个析构函数34.下列关于构
32、造函数的描述中,错误的是(C)A)构造函数可以设置默认参数B)构造函数在说明类变量时自动执行C)构造函数可以对静态数据成员进行初始化D)构造函数可以重载35 .对于类A,语句void(A:*P)(void);表明(八)A)P是一个指向类成员函数的指针B)P是类A的一个成员C)P是类A的一个对象D)P是一个指向类对象的指针36 .运算符delete删除一个动态对象时(C)A)首先为该动态对象调用构造函数,再释放其占用的内存B)首先释放该动态对象占用的内存,再为其调用构造函数C)首先为该动态对象调用析构函,再释放其占用的内存D)首先释放动态对象占用的内存,再为其调用析构函数A)组成了类定义体。C)
33、私有消息D)保护消息B)37 .在类的定义形式中,数据成员、成员函数和(A)成员的访问控制信息B)公有消息数38 .对于任意一个类,析构函数的个数最多为(A)OB)1C)2D)339 .(C)的功能是对对象进行初始化。A)析构函数B)数据成员O构造函数D)静态数据成员40 .友元关系不能(八)B)是类与类之间是关系D)提高程序的运行效率A)继承C)是一个类的成员函数与另一个类的关系41 .(八)只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中的非静态成员变量。A)静态函数B)虚函数C)构造函数D)析构函数42 .下面说法正确的是(B)A)内联函数在运行时是将该函数的目标代码插
34、入每个调用该函数的地方B)内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方O类的内联函数必须在类体内定义D)类的内联函数必须在类体外关键字inline定义43 .下列关于成员访问权限的描述中,不正确的是(B)A)公有数据成员和公有成员函数都可以被类对象直接处理B)类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问O保护成员在派生类中可以被访问,而私有成员不可以D)只有类或派生类的成员函数和友元类或友元函数可以访问保护成员44 .局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用(八)提供对全局变量的访问A)域运算符B)类运算符O重载D)引用4
35、5 .缺省析构函数的函数体是(C)A)不存在E)随机产生的C)空的D)无法确定的、46 .在下列关键字中,用以说明类中公有成员的是(A)A)publicB)privateC)protectedD)friend47 .下面说法中正确的是(B)A) 个类只能定义个构造函数,但可以定义多个析构函数B) 一个类只能定义一个析构函数,但可以定义多个构造函数C)构造函数与析构函数同名,只要名字前加了一个求反符号()D)构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是VOid类型也不可以48 .关于delete运算符的下列描述中,(C)是错误的。A)它必须用语new返回的指针B)它也适用于空
36、指针O对一个指针可以使用多次该运算符D)指针名前只用一对方括号符,不管所删除数组的维数49 .关于成员函数的特征的下述描述中,错误的是(八)A)成员函数一定是内联函数B)成员函数可以重载C)成员函数可以设置参数的默认值D)成员函数可以是静态的50 .假定X为一个类,执行Xa3,*p2;语句时会自动调用该类的构造函数(B)次A)2B)304D)551 .由于数据隐藏的需要,静态数据成员通常被说明为(八)A)私有的B)公有的C)保护的D)不可访问的52 .假定MyCIaSS为一个类,则该类的拷贝构造函数的声明语句为(C)A)MyCIass(MyCIassx)B)MyClass&(MyCIass)C
37、) MyCIass(MyCIass&x)D)MyCIass(MyCIass*x)53.关于new运算符的下列描述中,(D)是错误的.A)它可以用来动态创建对象和对象数组B)使用它创建对象或对象数组,可以使用运算符DE1.ETE删除O使用它创建对象时要调用构造函数D) 使用它调用对象数组时不允许指定初始值54 .对于常成员函数,下列描述正确的是(C)A)常成员函数只能修改常数据成员B)常成员函数只能修改一般数据成员C)常成员函数不能修改任何数据成员D)成员函数只能通过常对象调用55 .友元的作用是(八)A)提高程序是运行效率B)加强类的封装性O实现数据的隐藏性D)增加成员函数的种类56 .一个类
38、的友元函数或友元类能够通过成员操作符访问该类的(D)A)私有成员B)公有成员C)保护成员D)公有成员、保护成员和私有成员57 .下面说法中正确的是(D)A)当声明的内容不同时,声明同一个名字的两个类是允许的B)不完全声明的类也可以实例化O声明同一个名字的两个类时,要求声明的内容也相同D)声明同个名字的两个类是错误的58 .下面对静态数据成员的描述中,正确的是(八)A)静态数据成员是类的所有对象共享的数据B)类的每个对象都有自己的静态数据成员O类的不同对象有不同的静态数据成员值D)静态数据成员不能通过类的对象调用59 .下列关于对象数组的描述中,错误的是(D)A)对象数组的下标是从0开始的B)对
39、象数组的数组名是一个常量指针C)对象数组的没个元素是同一个类的对象D)对象数组只能赋初值,而不能在定义后赋值60.(C)classA对于下面定义的类A在函数f()中将对象成员n的值修改为60的语句应该是public:A(intx)n=x;coidSetNum(intn1)n=1;)privateintn;itf()A*ptr=newA(6);A)B)C)D)A(60)SetNum(60)Ptr-SetNum(60)Ptr-n=6061.已知:Print()函数是一个类的常成员函数,它无返回值,下列表示中,(A)是正确的A) voidprint()constB) constvoidprint()C) voidconstprint()D) voidprint(const)62.下面是类MyClaSS的定义,对定义中各语句描述正确的是(classMyCIassD)private:itX,y,Z;public;voidMyClass(inta)X=a;)intf(inta,intb)file:file:X=a;Y=b;Intf(inta,intb,intc=0)X=a;Y=b;Z=c;Static