东华大学2006年C++考试题目B.doc_第1页
东华大学2006年C++考试题目B.doc_第2页
东华大学2006年C++考试题目B.doc_第3页
东华大学2006年C++考试题目B.doc_第4页
东华大学2006年C++考试题目B.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

补考试题2006年C+程序设计补考试题一、填空题(20分)1设有定义enum daySun, Mon, Tue=7, Wed, Thu, Fri, Sat,则语句cout Sat输出结果为 。2语句coutp = 6; C A1.*p = 6; D*A1.p = 6。6下列关于new操作的语句中,哪个是正确的?A int *p = new int(3);Bint *p3=new int23;Cint (*p)4=new int23;Dint *p=new int3(3,4,5);7关于子类型的描述中,哪个是错误的?A子类型就是指派生类是基类的子类型;B任何一个类型都是它自身的子类型。C一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型;D在公有继承下,派生类是基类的子类型;8每个带有虚基类的多层派生类构造函数都要把虚基类的构造函数放在成员初始化列表中,在执行时会对虚基类的子对象初始化多少次呢?A与虚基类下面的派生类个数有关;B多次;C二次;D一次。9 下列运算符中,哪个不能重载?A+ ; B( ) ; C+= ; D?: 10下列哪种函数可以用做运算符重载函数?A友员函数;B静态函数;C外部函数;D内联函数。三、假设string类的声明如下: (10分)class string public: string () size=0; buffer=0; string (char *str) size=strlen(str); buffer =new charsize+1; strcpy(buffer,str); string (const string &str) size=str.size; buffer =new charsize+1; strcpy(buffer,str.buffer); string () delete buffer; string operator +(const string &s); private: int size; char *buffer;并假定字符串存放在buffer所指向的数组中。运算符重载函数string operator+()表示将两个字符串连接在一起,试填写其中程序代码。四、编写一程序,将一个字符串进行反转。所谓反转是指将字符串中字母的顺序完全颠倒,如“ABCDG”变成“GDCBA”。 (10分)五、编写一程序求Fibonacci数列的第n项。 (10分)Fibonacci数列定义为:六、找出下列程序中的语法错误,并注明出错类型。(10分)#include class A public: void f() int a; class B public: void f() static int b;static int B:b=0;class D:private A,public B public: int d; D(); D(int i) coutdestrutor;void f(int & i) coutid+; d.f(); n = d.a+; f(10); double a; int & b =a; +(-b);七、分析下列程序,写出执行结果。(20分)(1)#include class Vehicle public: virtual void power()coutpower:endl;class Car:public Vehicle public: void power()coutBy engine!endl;class Carriage:public Vehicle public: void power()coutBy Horse!endl;class Subway:public Vehicle public: void power()coutBy Electric!endl;class Bicyle:public Vehicle public: void power()coutBy Human!endl;class Bike:public Vehicle public: void power()coutBy motor!power();Carriage carriage; pv=&carriage; pv-power();Subway subway; pv=&subway;pv-power();Bicyle bicyle; pv=&bicyle;pv-power();Bike bike; pv=&bike;pv-power();(2)#include int swap( int & a, int b) static int c=0; int temp=a; a=b; b=temp;return c+;void main()int a(2006), b(12),c;for(int i=0; i5;i+) c=swap(a,b+); couta,(b+=2,b+),cendl;(3)#include class Base public: void f1() coutBase f1()n; void f2() coutBase f2()n; Base() coutBase destructorn; ;class Derived: public Base public: void f1() coutDerived f1()n; Base:f2; Derived() coutDerived destructorn; ;void main() Derived d; d.f1();d.Base:f1();d.f2();(4)#include class A public: A() coutconstructorn; virtual A() coutAs destructorn; ;class B: public A public: virtual B(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论