【计算机类职业资格】国家二级C++机试(类和对象)模拟试卷15及答案解析.doc
《【计算机类职业资格】国家二级C++机试(类和对象)模拟试卷15及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C++机试(类和对象)模拟试卷15及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(类和对象)模拟试卷 15及答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.有如下类声明: c1ass Foo int bar; ); 则 Foo类的成员 bar是( )。(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数2.有如下类定义: c1ass Foo public: Foo(int v):value(v) Foo() private: Foo() int value=0: ; 其中存在语法错误的行是( )。(分数:2.00)A.B.C.D.3.有如下类定义: c1ass Test pu
2、blic: Test()a=0;c=0; int f(int a)constthisa=a; static int g()return a; void h(int b)Test:b=b; private: int a; static int b; const int c; ; int Test:b=0; 在标注号码的行中,能被正确编译的是( )。(分数:2.00)A.B.C.D.4.有如下类声明: c1ass SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n0); ;下列关于 getValue成员函数的实现中,正确的是
3、( )。(分数:2.00)A.SAMPLE:setValue(int n0) n=n0,B.void SAMPLE:setValue(int n0) n=n0,)C.void setValue(int n0)n=n0;D.(int n0) n=n0;5.以下关键字不能用来声明类的访问权限的是( )。(分数:2.00)A.publicB.staticC.protectedD.private6.下列关于类定义的说法中,正确的是( )。(分数:2.00)A.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义7.如果派生类
4、以 protected方式继承基类,则原基类的 protected成员和 public成员在派生类中的访问属性分别是( )。(分数:2.00)A.public和 publicB.public和 protectedC.protected和 publicD.protected和 protected8.下列有关类成员的叙述中,正确的是( )。(分数:2.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员9.下列运算符函数中,肯定不属于类 Value的成员函数的是( )。(分数:2.00)A.Value operator+(V
5、alue);B.Value operator(Value, Value);C.Value operator*(int);D.Value operator/(Value);10.有如下程序: #inc1udeiostream #inc1udecstring using namespace std; c1ass XCD char*a; int b; public: XCD(char* aa,int bb) a=new charstrlen(aa)+1; strcpy(a,aa), b=bb; char* Geta() returna; int Getb()retum b; ; int main()
6、 char *p1=“abcd“,*p2=“weirong“; int d1=6,d2=8; XCD x(p1,d1),y(p2,d2); coutstrlen(xGeta()+yGetb()end1; return 0; 运行时的输出结果是( )。(分数:2.00)A.12B.16C.14D.1111.有如下两个类定义: c1ass AA; c1ass BB AA v1,*v2; BB v3; int *v4; ; 其中有一个成员变量的定义是错误的,这个变量是( )。(分数:2.00)A.v1B.v2C.v3D.v412.有如下程序: #inc1ude iostream using name
7、space std; c1ass Point int x,y; public: Point(int x1=0,int y1=0):x(x1),y(y1) int get()retum x+y; ; c1ass Circ1e Point center; int radius; public: Circ1e(int cx,int cy,int r):center(cx,cy),radius(r) int get()return centerget()+radius; ; int main() Circ1e c(3,4,5); coutcget0end1; return 0: 运行时的输出结果是(
8、)。(分数:2.00)A.5B.7C.9D.1213.若 AA为一个类,a 为该类的私有整型数据成员,getA()为该类的一个非静态公有成员函数,功能是返回 a的值。如果 x为该类的一个对象,要在类外访问 x对象中 a的值,正确的访问格式为( )。(分数:2.00)A.AAgetA()B.xgetA()C.xaD.AA:a14.有如下类定义: c1ass MyClass int b;chara;double c; public: MyClass():c(00),b(0),a(,) ; 创建这个类的对象时,数据成员的初始化顺序是( )。(分数:2.00)A.a,b,cB.c,b,aC.b,a,c
9、D.c,a,b15.下列关于类和对象的叙述中,错误的是( )。(分数:2.00)A.个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系16.若有如下类声明 c1ass MyClass public: MyClass()cout1; ; 执行下列语句 MyClass a,b2,*p2: 以后,程序的输出结果是( )。(分数:2.00)A.11B.111C.1111D.1111117.建立一个类对象时,系统自动调用( )。(分数:2.00)A.析构函数B.构造函数C.静态函数D.友元函数18.若 MyClass是一个类名,且有如下语句序列
10、 MyClass c1,*c2; MyClass *c3=new MyClass; MyClass 上面的语句序列所定义的类对象的个数是( )。(分数:2.00)A.1B.2C.3D.419.要定义一个引用变量 p,使之引用类 MyClass的一个对象,正确的定义语句是( )。(分数:2.00)A.MyClassp=MyClass;B.MyClass p=new MyClass;C.MyClass D.MyClass a,20.下列关于对象初始化的叙述中,正确的是( )。(分数:2.00)A.定义对象的时候不能对对象进行初始化B.定义对象之后可以显式地调用构造函数进行初始化C.定义对象时将自动
11、调用构造函数进行初始化D.在一个类中必须显式地定义构造函数实现初始化21.有如下程序: #inc1udeiostream using namespace std; c1ass Pair int m,n; public: Pair(int j,intk):m(j),n(k) int get()return m; int get()const return m+n, ; int main() Pair a(3,5); const Pair b(3,5); coutaget()bget(); return 0; 运行时的输出结果是( )。(分数:2.00)A.33B.38C.83D.8822.有如下
12、类定义: c1ass MyClass int x; public: MyClass():x(0),y(0) int GetX()retum x; void SetX(int xx)x=xx; int y; ; 已知 obj是类 MyClass的对象,下列语句中违反类成员访问控制权限的是( )。(分数:2.00)A.objxB.objyC.objGetX()D.objSetX(0)23.有如下程序:#inc1ude iostreamusing namespace std;c1ass Pointpublic: static int number,public: Pointo number+; Po
13、int()number;) ; int Point:number0; void main0 Point *ptr; Point A, B; Point* ptr_point new Point3; ptx=ptr_point, Point C; Gout+Point:number+end1, delete ptr; 运行时输出的结果是( )。(分数:2.00)A.3B.4C.6D.724.在下列函数原型中,可以作为类 AA构造函数的是( )。(分数:2.00)A.voidAA(int);B.intAAO;C.AA(intconst;D.AA(int);25.有如下类定义: c1ass Poin
14、t int x_, y_; public: Point(): x_(0),y_(0) Point(int x,int y=0):x_(x),y_(y) ; 若执行语句 Point a(2), b3, *c4; 则 Point类的构造函数被调用的次数是( )。(分数:2.00)A.2次B.3次C.4次D.5次26.下列情况中,不会调用拷贝构造函数的是( )。(分数:2.00)A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时国家二级 C+机试(类和对象)模拟试卷
15、 15答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.有如下类声明: c1ass Foo int bar; ); 则 Foo类的成员 bar是( )。(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员 D.私有成员函数解析:解析:此题考查的是类的定义。在定义类的成员变量时,如果没有使用关键字;所有成员默认定义为 private私有权限。2.有如下类定义: c1ass Foo public: Foo(int v):value(v) Foo() private: Foo() int value=0: ; 其中存在语法错误的行是( )
16、。(分数:2.00)A.B.C.D. 解析:解析:此题考查的是类的定义。C+语言规定,在类体内不允许对所定义的数据成员进行初始化。3.有如下类定义: c1ass Test public: Test()a=0;c=0; int f(int a)constthisa=a; static int g()return a; void h(int b)Test:b=b; private: int a; static int b; const int c; ; int Test:b=0; 在标注号码的行中,能被正确编译的是( )。(分数:2.00)A.B.C.D. 解析:解析:此题考查的是类的定义。一个类
17、的长数据成员的初始化只能在成员初始化列表中进行,故选项 A错误;常成员函数不能更新对象的数据成员,故选项 B错误:静态成员函数可以直接访问类中说明的静态成员,但不能直接访问类中说明的非静态成员,故选项 C错误。4.有如下类声明: c1ass SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n0); ;下列关于 getValue成员函数的实现中,正确的是( )。(分数:2.00)A.SAMPLE:setValue(int n0) n=n0,B.void SAMPLE:setValue(int n0) n=n0,) C.vo
18、id setValue(int n0)n=n0;D.(int n0) n=n0;解析:解析:此题考查了成员函数的定义格式。在类外部对成员函数定义时的一般格式为:返回类型类名成员函数名(参数表)函数体),故此题正确答案为选项 B。5.以下关键字不能用来声明类的访问权限的是( )。(分数:2.00)A.publicB.static C.protectedD.private解析:解析:此题考查的是类的访问权限。在 C+语言中,类的访问权限有公有、保护和私有三种。故本题选 B。6.下列关于类定义的说法中,正确的是( )。(分数:2.00)A.类定义中包括数据成员和函数成员的声明 B.类成员的缺省访问权
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 机试 对象 模拟 试卷 15 答案 解析 DOC
