ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:60KB ,
资源ID:497722      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-497722.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C++机试(类和对象)模拟试卷11及答案与解析.doc)为本站会员(sofeeling205)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级C++机试(类和对象)模拟试卷11及答案与解析.doc

1、国家二级 C+机试(类和对象)模拟试卷 11及答案与解析 一、选择题 1 有如下类声明: class SAMPLE int n; public: SAMPLE(int i=0): n(i) void setValue(int n0; ; 下列关于 getValue成员函数的实现中,正确的是 ( )。 ( A) ( B) ( C) ( D) 2 下列关于类定义的说法中,正确的是 ( )。 ( A)类定义中包括数据成员 和函数成员的声明 ( B)类成员的缺省访问权限是保护的 ( C)数据成员必须被声明为私有的 ( D)成员函数只能在类体外进行定义 3 下列运算符函数中,肯定不属于类 Value的成

2、员函数的是 ( )。 ( A) Value operator+(Value); ( B) Value operator-(Value, Value); ( C) Value operator*(int); ( D) Value operator (Value); 4 有如下程序: #include using namespace std; class Point int x, y; public: Point(int x1=0, int y1=0): x(x1), y(y1) int get()return x+y; ; class Circle Point center; int radiu

3、s; public: Circle(int cx, int cy, int r): center(cx, cy), radius(r) int get()return center get()+radius; ; int main() Circle c(3, 4, 5); cout using namespace std; class Pair int m, n; public: Pair(int j, int k): m(j), n(k) int get()return m; ) int get()constreturn m+n; ; int main() Pair a(3, 5); con

4、st Pair b(3, 5); cout #include using namespace std; class MyClass public: MyClass()cout using namespace std; class Part public: Part(int x=0): val(x)cout #include using namespace std; class XCF int a; public: XCF(int aa=0): a(aa)coutGeta(); delete pd; return 0: ) 运行时的输出结果是 ( )。 ( A) 1215588 ( B) 121

5、8855 ( C) 12185 ( D) 128512 13 有如下程序: #include using namespace std; class Toy public: Toy(char*_n)strcpy(name, _n); count+; Toy()count-; char*GetName0return name; static int getCount()return count; private: char name10; static int count; ; int Toy: count=0; int main() Toy t1(“Snoopy“), t2(“Mickey“),

6、 t3(“Barbie“); cout using namespace std; class MyClass public: MyClass () cout #include using namespace std; class MyString public: char str80; MyString(const char*s)strcpy(str, s); MyString&operator+=(MyString a) strcat(str, a str); return*this; ; ostream&operator using namespace std; class Obj sta

7、tic int i; public: Obj()i+; Obj()i-; static int getVal()return i; ; int Obj: i=0; void f()Obj ob2; coutgetVal(); delete ob3; coutgetPI();和 coutgetPI();和 coutgetPI(); ( D) cout using namespace std; int i=1; class Fun public: static int i; int value()return i-l; int value()constreturn i+1; ; int Fun:

8、i=2; int main() int i=3; Fun fun1; const Fun fun2; _ return 0; 若程序的输出结果是: 123 则程序中下划线处遗漏的语句是 ( )。 ( A) couta=a; 第 2行 void g(char b)this-b=b; 第 3行 char h() constreturn a; 第 4行 ; 编译时没有错误的行是 ( )。 ( A)第 1行 ( B)第 2行 ( C)第 3行 ( D)第 4行 26 有如下程序: #include #include using std: cout; class Point public: friend

9、 double distance(const Point&p); p距原点的距离 Point(int xx=0, int yy=0): x(xx), y(yy) private: int x, y; ; aouble distance(const Point&p) return sqrt(p x*p x+p y*p y); int main() Point p1(3, 4); coutGeta()的功能是输出 8;语句 delete pd;调用析构函数 XCF(),输出 8;当退出程序时,分别释放对象 d2、 d1,输出 55。 【知识模块】 类和对象 13 【正确答案】 C 【试题解析】 类

10、 Toy中包含一个字符数组 name和一个静态整型变量 count。在程序中首 先给类 Toy的成员 count的赋初始值 0,然后在主函数中,定义了三个Toy对象 t1、 t2、 t3,并分别对它们的 name字段赋值,在赋值的同时变量 count的值加 1,所以最后变量 count的值等于 3。 【知识模块】 类和对象 14 【正确答案】 C 【试题解析】 语句 MyClass a4, *p5不仅定义了 4个 MyClass对象,分别为a0, a1, a2, a3,而且定义了 5个指向 MyClass对象的指针变量,分别为*p0, *p1, *p2, *p3, *p4, 所以共调用 MyC

11、lass的构造函数 4次。 【知识模块】 类和对象 15 【正确答案】 A 【试题解析】 一般情况下,析构函数在对象的生存周期即将结束的时候由系统自动调用。在调用完成之后,对象也就消失了,相应的内存空间也被释放。析构函数没有参数,因此析构函数不能重载,一个类中只能定义一个析构函数。 【知识模块】 类和对象 16 【正确答案】 C 【试题解析】 程序在执行时,先创建类对象 a,输出 *,再创建类对象 b,输出#,然后再依次调用类对象 b和 a的析构函数,输出两个 。 【知识模块】 类和对象 17 【正确答案】 D 【试题解析】 在类 MyString中,定义了带参数的构造函数 MyString(

12、const char*s),其作用是把 s指向的字符串拷贝到字符组 str中。在类中还对运算 +=进行重载定义,其作用是把字符串 str和 a相连接并赋给 str,所以在主函数中执行x+=y时,结果为 abccde。 【知识模块】 类和对象 18 【正确答案】 B 【试题解析】 this指针是成员函数所属对象的指针,它指向类对象的地址。成员函数通过这个指针知道自己属于哪一 个对象。 this指针是一个隐含的指针,它隐含于每个类的非静态成员函数中,它明确的地表示出了成员函数当前操作的数据所属的对象。 【知识模块】 类和对象 19 【正确答案】 D 【试题解析】 此题考查的是静态成员。本题中, O

13、bi类定义了一个静态数据成员i,并初始化为 0在主函数中,首先定义了 1个该类对象 ob1,所以构造函数被调用 1次, i加 1;然后调用函数 f(),该函数中又定义了一个对象 ob2,此时 i再次加 1变为 2,然后通过函数 getval()输出 i的值 2。 f()函数结束, ob2变量被释放,故析构 函数被调用了 1次, i变成 1;回到主函数中,又动态创建了 1个对象并让0b3指向它,此后 i变成 2并输出。最后释放动态创建的对象 i变为 1,输出 1。故最终的输出结果是 221。 【知识模块】 类和对象 20 【正确答案】 D 【试题解析】 此题考查的是静态成员函数的引用。 getP

14、I()是类 Constants的静态成员函数。引用静态成员函数可以有两种形式:一是通过类名直接进行调用,例如类名:静态成员函数名;另一种是用类的任何对象名进行调用其作用仅是通过对象名间接的指出类名,例如 constants getPI()选项 D即是这种调用方式。 【知识模块】 类和对象 21 【正确答案】 D 【试题解析】 funcyion4()函数作为类的静态成员函数,不能直接访问类中说明的非静态成员,即 cout()const;,所以对于本题来说无参且无返回值的常成员函数 show,其正确的函数原型是选项 C。 【知识模块】 类和对象 25 【正确答案】 D 【试题解析】 类 Test中的常成员函数 h()返回数据成员 a的值。 【知识模块】 类和对象 26 【正确答案】 A 【试题解析】 这段程序是正确的,计算 p距离原点的距离。语句 是类 Point的构造函数,在构造函数中给变量 xx和 yy赋初值 0。语句 是计算点 p距原点的距离的函数 distance。语句 是计算点 p1距离原点的距离并输出。 【知识模块】 类和对象 27 【正确答案】 C 【试题解析】 在选项 C中定义了类 MyClass对象数组 arrays2,并用对象MyClass(5)和 MyClass(6)对这个数组中的两个元素赋初值。 【知识模 块】 类和对象

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1