[计算机类试卷]国家二级C++机试(类和对象)模拟试卷20及答案与解析.doc
《[计算机类试卷]国家二级C++机试(类和对象)模拟试卷20及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(类和对象)模拟试卷20及答案与解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(类和对象)模拟试卷 20及答案与解析 一、选择题 1 下列关于 this指针的描述中,正确的是 ( )。 ( A)类的成员函数都有 this指针 ( B)类的友元函数都有 this指针 ( C)任何与类相关的函数都有 this指针 ( D)类的非静态成员函数都有 this指针 2 有如下程序: #include iostream using namespace std; class Test public: Test() n+=2; Test()n-=3; static int getNum0return n; private: static int n; ; int Te
2、st: n=1; int main() Test*p=new“rest; delete p; tout n= Test: getNum() end1; return 0; 执行后的输出结果是 ( )。 ( A) n=0 ( B) n=1 ( C) n=2 ( D) n=3 3 有如下程序: #include iostream using namespace std; class Obj static int i; public: Obj()i+; Obj()i-; static hat getVal()return i; ; int Obj: i=0; void f()Obj ob2; cou
3、t ob2 getVal(); int main() Obj ob1; f(); Obj*ob3=new Obj; cout ob3- getVal q(); delete ob3; cout Obj: getVal(); return 0; 程序的输出结果是 ( )。 ( A) 232 ( B) 231 ( C) 222 ( D) 221 4 有如下程序: #include iostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getCount()ret
4、urn count; private: static int count; ; int MyClass: count=0; int main() MyClass obj; cout obj getCount(); MyClass*ptr=new MyClass; cout MyClass: getCount(); delete ptr; cout MyClass: getCount(); return 0; 程序的输出结果是 ( )。 ( A) 121 ( B) 232 ( C) 221 ( D) 122 5 有如下类定义: class Point private; static int ho
5、w_many; ; _how_many=0; 要初始化 Point类的静态成员 how_many,下划线处应填入的内容是 ( )。 ( A) ing ( B) static int ( C) int Point: ( D) static int Point: 6 有如下类和对象的定义: class Constants public; static double getPl()return 3 1416; ; Constants constants; 下列各组语句中,能输出 3 1416的是 ( )。 ( A) cout constants- getPI();和 cout Constants:
6、gerPI(); ( B) cout constants getPI();和 cout Constants getPI(); ( C) cout constants- getaI();和 cout Constants- getPI(); ( D) cout constants getPI();和 cout Constants: getPI(); 7 若 AA为一个类, a为该类的非静 态数据成员,在该类的一个成员函数定义中访问 a时,其书写格式为 ( )。 ( A) a ( B) AA a ( C) a ( D) AA: a 8 有如下类定义: class Sample public; Sam
7、ple(int x): ref(x) private: Sample(): ref(0) static int val=5; const int ref; ; 上述程序段中,错误的语句是 ( )。 ( A) ( B) ( C) ( D) 9 已知类 Myclass的定义如下 class MyClass public: void function1(MyClass const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下划线处遗漏的语句是 ( )。 ( A) cout fun1 value() Fun: i fun2 value(); ( B) cout Fu
8、n: i fun1 value() fun2 value(); ( C) cout fun 1 value()fun2 value() Fun: i; ( D) cout fun2 value() Fun: i fun1 value(); 13 有如下程序: #include iostream using namespace std; class VAC public; int f() constreturn 3; int f() return 5; ; Int main() VAC v1; const VAC v2; cout v1 f() v2 f(); fetum 0; 运行时的输出结果
9、是 ( )。 ( A) 53 ( B) 35 ( C) 55 ( D) 33 14 有如下程序: #include iostream using namespace std; class MyClass public: MyClass(int x): Val(x) void Set(int x)val=x; void Print()constcout val= val t; private: int val; ; int main() const MyClass obj 1(10); MyClass obj2(20); obj1 Print(); 语句 1 obj2 Print(); 语句 2
10、 obj1 Set(20);语句 3 obj2 Set(30);语句 4 return 0; 其 主函数中错误的语句是 ( )。 ( A)语句 1 ( B)语句 2 ( C)语句 3 ( D)语句 4 15 有如下类定义和变量定义: class A public: A()data=0; A() int GetData() constreturn data; void SetData(int n) data=n; priyate: int data; ; const A a; A b; 下列函数调用中错误的是 ( )。 ( A) a GetData(); ( B) a SetData(10);
11、( C) b GetData(); ( D) b SetData(10); 16 有如下程序: #include iostream Using namespace std; class A public: A(int i): r1(i) vgid print() cout E r1 -; void print() const cout C r1*r1 -; private: int r1; ; int main() A a1(2); const A a2(4); a1 print(); a2 print(); return 0; 运行时的输出结果是 ( )。 ( A)运行时出错 ( B) E2
12、-C16- ( C) C4-C16- ( D) E2-E4- 17 有如下程序: #include iostream using namespace std; class A public: A(int i=0): r1(i) void print()cout E r1 -; void print()constcout C r1*r1 -; void print(int x)cout p r1*r1*r1 -; private: int r1; ; mt main() A a1; const A a2(4); a1 print(2); a2 print(); return 0; 运行时的输出结
13、果是 ( )。 ( A) P8-E4 ( B) P8-C16- ( C) P0-E4- ( D) P0-C16- 18 某类中有一个无参且无返回值的常成员函数 Show,则正确的 Show函数原型是( )。 ( A) const void Show(); ( B) void const Show(); ( C) void Show()const; ( D) void Show(const); 19 已知类 IMS中两个成员函数的声明为 “void listen()const; ”与 “void speak(); ”,另有两个对象的定义为 “IMS obj1; ”与 “const IMS obj
14、2; ”,则下列语句中,产生编译错误的是 ( )。 ( A) obj1 listen(); ( B) obj1 speak(); ( C) obj2 listenO; ( D) obj2 speak(); 20 已知函数 print()没有返回值, 如果在类中将之声明为常成员函数,正确的是( )。 ( A) voidprint()const; ( B) constvoidprint(); ( C) void const print(); ( D) void print(const); 21 有如下类定义: class Test char a; const char b; public: Tes
15、t(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行 ; 编译时没有错误的行是 ( )。 ( A)第 1行 ( B)第 2行 ( C)第 3行 ( D)第 4行 22 有如下类定义: class AA int a; public; int getRef()constreturn&a; int getValue()constreturn a; void set(int n)consta=n; friend void
16、show(AA aa)constcout a; ; 其中的四个函数定义中正确的是 ( )。 ( A) ( B) ( C) ( D) 23 有如下程序: #include iostream using namespace std; class Sample friend long fun(Sample s); public: Sample(long a)x=a; private: long x; ; long fun(Sample s) if(s x 2) return 1: return s x*fun(Sample(s x-1): int main() int sum=0; for(int
17、i=0; i 6; i+)sum+=fun(Sample(i); cout sum; return 0; 运行时输出的结果是 ( )。 ( A) 120 ( B) 16 ( C) 154 ( D) 34 24 有如下程序: #include iostream #include cmath using std: cout; class Point public: Mend double distance(const Point&p); p距原点的距离 Point(int xx=0, int yy=0): x(xx), y(yy) private: int x, y; ; double dista
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 对象 模拟 20 答案 解析 DOC
