c++2012半期考试试题1.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c2012半期考试试题1

一、单项选择题 1. 关于C++与C语言的关系的描述中,错误的是( ) (A) C语言是C++的子集 (B) C语言与C++是兼容的 (C) C++对C语言进行了一些改进 (D) C++和C语言都是面向对象的 2. 假定AB为一个类,则该类的拷贝构造函数的声明语句为( ) (A)? AB (AB? x)? (B)AB(AB? x) (C)? AB(AB? )?(D)? AB(AB * x) 3. 假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:( ) (A) ?AB ?operator+(AB ? a , AB ?b)?(B) ?AB ?operator+(AB ? a) (C) ?operator+(AB ?a) (D) ?AB ? operator+( ) 4.作用域运算符::适用于情况下使用A)定义一个类的对象时B)定义私有的成员函数时C)在类定义体内定义成员函数时D)在类定义体外定义成员函数时  ? 下面有关重载函数的说法中正确的是?? (A) 重载函数必须具有不同的返回值类型 B) 重载函数形参个数必须不同  ?? C) 重载函数必须有不同的形参列表  D) 重载函数名可以不同? 下列关于构造函数的描述中,错误的是?? (A) 构造函数可以设置默认参数B) 构造函数在定义类对象时自动执行 ?C) 构造函数可以是内联函数  D) 构造函数不可以重载?? 指针 (B) 对象 (C) 类 (D) 继承 12.下面函数( )的表示方法说明它使用对象的引用作为参数 (A) test(pt *pp) (B) test(pt pp) (C) test(pt pp) (D) test(const pp) 14.重载函数在调用时选择的依据中,( )是错误的 (A) 参数个数 (B) 参数类型 (C) 函数名字 (D) 函数类型 二、名词解释 1重载函数 2构造函数 3引用 三、判断分析题(判断正误,并简述理由) 1..int onst *p 是常指针,指针是不能改变的。( ) 3.在C++中,关键字class与struct具有完相同的作用。#includeiostream.h class Sample { protected: int n; public: Sample(int i){n=i;} Sample(const Sample Obj){n = Obj.n; coutSample Copyendl;} friend Sample add(Sample s1,Sample s2,Sample *s3); void out(){coutn endl;} }; Sample add(Sample s1,Sample s2,Sample *s3) { couts1.n + s2.n + s3-nendl; s1.n = 10; s2.n = 10; s3-n = 10; return *s3; } int main( ) { Sample s1(10),s2(20),s3(30); Sample tem = add(s1,s2,s3); s1.out( ); s2.out( ); s3.out( ); return 0; } 执行上面的程序将输出什么结果? 2. #include iostream.h class A { int a; public: void set(int x = 0){a = x;} void put( ){cout a endl;} void func(A b ) { b.put( ); b.set(5); put( ); A objA1; objA1.set(2); objA1.put( ); put( ); b.put( ); } }; int main( ) { A objA; objA.set(1); objA.put( ); objA.func(objA); objA.put( ); return 0; } 执行上面的程序将输出什么结果? 五、改错,说明错误的原因,并改正 1. #includeiostream.h class array { public: array(int i,int j) {

文档评论(0)

cuotian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档