【计算机类职业资格】国家二级C++机试(类和对象)模拟试卷14及答案解析.doc
《【计算机类职业资格】国家二级C++机试(类和对象)模拟试卷14及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C++机试(类和对象)模拟试卷14及答案解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(类和对象)模拟试卷 14及答案解析(总分:54.00,做题时间:90 分钟)一、选择题(总题数:27,分数:54.00)1.下列关于 this指针的描述中,正确的是( )。(分数:2.00)A.类的成员函数都有 this指针B.类的友元函数都有 this指针C.任何与类相关的函数都有 this指针D.类的非静态成员函数都有 this指针2.有如下程序: #includeiostream using namespace std; class Test public: Test() n+=2; Test()n-=3; static int getNum0return n; pr
2、ivate: static int n; ; int Test:n=1; int main() Test*p=new“rest; delete p; toutn=Test:getNum()end1; return 0; 执行后的输出结果是( )。(分数:2.00)A.n=0B.n=1C.n=2D.n=33.有如下程序: #includeiostream using namespace std; class Obj static int i; public: Obj()i+; Obj()i-; static hat getVal()return i; ; int Obj:i=0; void f(
3、)Obj ob2;coutob2getVal(); int main() Obj ob1; f(); Obj*ob3=new Obj;coutob3-getVal q(); delete ob3;coutObj:getVal(); return 0; 程序的输出结果是( )。(分数:2.00)A.232B.231C.222D.2214.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getCount()return co
4、unt; private: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobjgetCount();MyClass*ptr=new MyClass; coutMyClass:getCount(); delete ptr; coutMyClass:getCount(); return 0; 程序的输出结果是( )。(分数:2.00)A.121B.232C.221D.1225.有如下类定义: class Point private; static int how_many; ; _how_many=0;
5、要初始化Point类的静态成员 how_many,下划线处应填入的内容是( )。(分数:2.00)A.ingB.static intC.int Point:D.static int Point:6.有如下类和对象的定义: class Constants public; static double getPl()return 31416; ;Constants constants; 下列各组语句中,能输出 31416 的是( )。(分数:2.00)A.coutconstants-getPI();和 coutConstants:gerPI();B.coutconstantsgetPI();和 co
6、utConstantsgetPI();C.coutconstants-getaI();和 coutConstants-getPI();D.coutconstantsgetPI();和 coutConstants:getPI();7.若 AA为一个类,a 为该类的非静态数据成员,在该类的一个成员函数定义中访问 a时,其书写格式为( )。(分数:2.00)A.aB.AAaC.aD.AA:a8.有如下类定义: class Sample public; Sample(int x):ref(x) private:Sample():ref(0) static int val=5; const int re
7、f; ;上述程序段中,错误的语句是( )。(分数:2.00)A.B.C.D.9.已知类 Myclass的定义如下 class MyClass public: void function1(MyClass const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下划线处遗漏的语句是( )。(分数:2.00)A.coutfun1value()Fun:ifun2value();B.coutFun:ifun1value()fun2value();C.coutfun 1value()fun2value()Fun:i;D.coutfun2value()Fun:ifun1v
8、alue();13.有如下程序: #includeiostream using namespace std; class VAC public; int f() constreturn 3; int f() return 5; ; Int main() VAC v1; const VAC v2; coutv1f()v2f(); fetum 0; 运行时的输出结果是( )。(分数:2.00)A.53B.35C.55D.3314.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass(int x):Val
9、(x) void Set(int x)val=x; void Print()constcoutval=valt; private: int val; ; int main() const MyClass obj 1(10); MyClass obj2(20); obj1Print(); 语句 1 obj2Print(); 语句 2 obj1Set(20);语句 3 obj2Set(30);语句 4 return 0; 其主函数中错误的语句是( )。(分数:2.00)A.语句 1B.语句 2C.语句 3D.语句 415.有如下类定义和变量定义: clasS A public: A()data=0
10、; A() int GetData() constreturn data; void SetData(int n) data=n; priyate: int data; ; const A a; A b; 下列函数调用中错误的是( )。(分数:2.00)A.aGetData();B.aSetData(10);C.bGetData();D.bSetData(10);16.有如下程序: #includeiostream Using namespace std; class A public: A(int i): r1(i) vgid print() coutEr1-; void print() c
11、onst coutCr1*r1-; private: int r1; ; int main() A a1(2); const Aa2(4); a1print(); a2print();return 0; 运行时的输出结果是( )。(分数:2.00)A.运行时出错B.E2-C16-C.C4-C16-D.E2-E4-17.有如下程序: #includeiostream using namespace std; class A public: A(int i=0):r1(i) void print()coutEr1-; void print()constcoutCr1*r1-; void print
12、(int x)coutpr1*r1*r1-; private: int r1; ; mt main() A a1; const A a2(4); a1print(2); a2print(); return 0; 运行时的输出结果是( )。(分数:2.00)A.P8-E4B.P8-C16-C.P0-E4-D.P0-C16-18.某类中有一个无参且无返回值的常成员函数 Show,则正确的 Show函数原型是( )。(分数:2.00)A.const void Show();B.void const Show();C.void Show()const;D.void Show(const);19.已知类
13、 IMS中两个成员函数的声明为“void listen()const;”与“void speak();”,另有两个对象的定义为“IMS obj1;”与“const IMS obj2;”,则下列语句中,产生编译错误的是( )。(分数:2.00)A.obj1listen();B.obj1speak();C.obj2listenO;D.obj2speak();20.已知函数 print()没有返回值,如果在类中将之声明为常成员函数,正确的是( )。(分数:2.00)A.voidprint()const;B.constvoidprint();C.void const print();D.void pr
14、int(const);21.有如下类定义: class Test char a;const char b; public: Test(char c)a=c;b=c; 第 1行 void f(char a)constthis-a=a; 第 2行 void g(char b)this-b=b; 第 3行 char h() constreturn a; 第 4行 ; 编译时没有错误的行是( )。(分数:2.00)A.第 1行B.第 2行C.第 3行D.第 4行22.有如下类定义: class AA int a; public; int getRef()constreturn const Fun fu
15、n2; return 0; 若程序的输出结果是: 123 则程序中下划线处遗漏的语句是( )。(分数:2.00)A.coutfun1value()Fun:ifun2value(); B.coutFun:ifun1value()fun2value();C.coutfun 1value()fun2value()Fun:i;D.coutfun2value()Fun:ifun1value();解析:解析:此题考查的是常成员函数。const 关键字可以用于参与重载函数的区分,此时常对象调用常成员函数,一般对象调用一般成员函数,当类中只有一个常成员函数时,一般对象也可以调用该常成员函数。本题中,通过 fu
16、n1调用 value()函数时,是调用前一个,而通过 fun2调用 value()函数是调用后一个;另外,value()函数中访问的 i是类中定义的数据成员 i,全局变量 i在类中被“屏蔽”。fun1value()输出 i-1=2-1=1;fun2value()调用后一个 value()函数输出 i+1=2+1=3;Fun:i 是通过类名直接访问类的静态数据成员 i的值,即 2;所以正确的输出顺序是 A选项。13.有如下程序: #includeiostream using namespace std; class VAC public; int f() constreturn 3; int f
17、() return 5; ; Int main() VAC v1; const VAC v2; coutv1f()v2f(); fetum 0; 运行时的输出结果是( )。(分数:2.00)A.53 B.35C.55D.33解析:解析:此题考查的是常成员函数的应用。VAC 类中说明了两个函数,一个是常成员函数,一个是普通函数;在主函数中说明了两个对象,通过普通对象 v1调用的是普通函数,输出 5:通过常对象 V2调用的是常成员函数,输出 3。14.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 机试 对象 模拟 试卷 14 答案 解析 DOC
