欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:497722       资源大小:60KB        全文页数:22页
    • 资源格式: DOC        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机类试卷]国家二级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)对这个数组中的两个元素赋初值。 【知识模 块】 类和对象


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开