[计算机类试卷]国家二级C++机试(类和对象)模拟试卷4及答案与解析.doc
《[计算机类试卷]国家二级C++机试(类和对象)模拟试卷4及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(类和对象)模拟试卷4及答案与解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(类和对象)模拟试卷 4及答案与解析 一、选择题 1 有如下类定义: class Foo public: Foo(int v): value(v) Foo() private: F00() int value=0; ; 其中存在语法错误的行是 ( )。 ( A) ( B) ( C) ( D) 2 以下关键字不能用来声明类的访问权限的是 ( )。 ( A) public ( B) static ( C) protected ( D) private 3 下列有关类成员的叙述中,正确的是 ( )。 ( A)友元函数是类的成员函数 ( B)类成员的默认访问权限是私有的 ( C)类成
2、员函数必须声明为公有的 ( D)类的静态数据成员不能是常成员 4 有如下两个类定义: class AA; class BB AAv1, *v2; BB v3; int *v4; 其中有一个成员变量的定义是错误的,这个变量是 ( )。 ( A) v1 ( B) v2 ( C) v3 ( D) v4 5 有如下类定义: class MyClass int b; char a; double c; public: MyClass(): c(0 0), b(0), a(, ) ; 创建这个类的对象时,数据成员的初始化顺序是 ( )。 ( A) a, b, C ( B) c, b, a ( C) b,
3、a, C ( D) c, a, b 6 建立一个类对象时,系统自动调用 ( )。 ( A)析构函数 ( B)构造函数 ( C)静态函数 ( D)友元函数 7 下列关于对象初始化的叙述中,正确的是 ( )。 ( A)定义对象的时候不能对对象进行初始化 ( B)定义对象之 后可以显式地调用构造函数进行初始化 ( C)定义对象时将自动调用构造函数进行初始化 ( D)在一个类中必须显式地定义构造函数实现初始化 8 有如下程序: #include iostream using namespace std; class Point public: static int number; public: Po
4、intonumber+; Point()number-; ; int Point: number-0: void mainO Point *ptr; PointA, B: Point* ptr_point=new Point3; ptx=ptr_point; Point C; Gout+Point: number+endl; deleteptr; 运行时输出的结果是 ( )。 ( A) 3 ( B) 4 ( C) 6 ( D) 7 9 下列情况中,不会调用拷贝构造函数的是 ( )。 ( A)用一个对象去初始化同一类的另一个新对象时 ( B)将类的一个对象赋值给该类的另一个对象时 ( C)函数的
5、形参是类的对象,调用函数进行形参和实参结合时 ( D)函数的返回值是类的对象,函数执行返回调用时 10 对于一个类定义,下列叙述中错误的是 ( )。 ( A)如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数 ( B)如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数 ( C)如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数 ( D)如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数 11 有如下类定义: class MyClass Int value; public; MyClass(int n): value(n) int gerValu
6、e()constreturn value; ; 则类 MyClass的构造函数的个数是 ( )。 ( A) 1个 ( B) 2个 ( C) 3个 ( D) 4个 12 有如下程序: include iOstream using namespace std; class MyClass public: MyClass(int i=0)cout 1; MyClass(const MyClass&x)cout 2; MyClass& operator=(const MyClass&x)cout 3; return*this; MyClass()cout 4; ; int main() MyClass
7、 obj1(1), obj2(2), obj3(obj1); return 0: 运行时的输出结果是 ( )。 ( A) 112444 ( B) 11114444 ( C) 121444 ( D) 11314444 13 Sample是一个类,执行下面语句后,调用 Sample类的构造函数的次数是 ( )。 Sample a2, *P=new Sample; ( A) 0 ( B) 1 ( C) 2 ( D) 3 14 有如下程序 #include iostream using namespace std; class Test public: Test() Test(const Test&
8、t)cout 1; ; Test fun(Test&u)Test t=u; return t; int main()Test x, y; x=fun(y); return 0; 运行这个程序的输出结果是 ( )。 ( A)无输出 ( B) 1 ( C) 11 ( D) 111 15 有如下程序: #include iostream using namespace std; class XA int a; public: static int b; XA(int aa): a(aa)b+; XA() int get()return a; ; int XA: b=0; int main() XA
9、d1(2), d2(3); cout d1 get()+d2 get()+XA: b endl; return 0; 运行时的输出结果是 ( )。 ( A) 5 ( B) 6 ( C) 7 ( D) 8 16 若 PAT是一个类,则程序运行时,语句 “PAT*ad3; ”调用 PAT的构造函数的次数是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 17 下列关于类成员对象构造函数调用顺序的叙述中,正确的是 ( )。 ( A)与它们在初始化列表中的顺序相同 ( B)与它们在类中声明的顺序相同 ( C)与析构函数的调用顺序相同 ( D)顺序不确定 18 有如下头文件: int
10、f1(); static int f2(); class MA public: int f3(); static int f4(); ; 在所描述的函数中,具有隐含的 this指针的是 ( )。 ( A) f1 ( B) f2 ( C) f3 ( D) f4 19 有如下程序: #include iostream using namespace std; class Test public: Test()n+=2; Test0n-=3; , static int getNum()return n; private: static int n; ; int Test: n=1; int main
11、() Test* p=new Test; delete p; cout “n=“ Test: getNum() endl; return 0; 执行后的输出结果是 ( )。 ( A) n=0 ( B) n=1 ( C) n=2 ( D) n=3 20 有如下类定义: class Point private; static int how_many; ; _how_many=0; 要初始化 Point类的静态成员 how_many,下划线处应填入的内容是 ( )。 ( A) ing ( B) static int ( C) int Point: ( D) static int Point: 21
12、 有如下类定义: class Sample public; Sample(int x): ref(x) private: Sample(): ref(0) static int val=5; const int ref; ; 上述程序段中,错误的语句是 ( )。 ( A) ( B) ( C) ( D) 22 由于常对象不能被更新,因此 ( )。 ( A)通过常对象只能调用它的常成员函数 ( B)通过常对象只能调用静态成员函数 ( C)常对象的成员都是常成员 ( D)通过常对象可以调用任何不改变对象值的成员函数 23 有如下程序: #include iostream using namespac
13、e 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 obj1(10); MyClass obj2(20); obj1 Print();语句 1 obj2 Print();语句 2 obj1 Set(20);语句 3 obj2 Set(30);语句 4 return 0; 其主函数中错误的语句是 ( )。 ( A)语句 1 ( B)语句 2
14、( C)语句 3 ( D)语句 4 24 有如下程序: #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; ; int main() A a1; const A a2(4); a1 print(2); a2 print(); return 0; 运行时的输出结果是 ( )。 ( A)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 对象 模拟 答案 解析 DOC
