南邮面向对象程序设计及C期末试卷A_第1页
南邮面向对象程序设计及C期末试卷A_第2页
南邮面向对象程序设计及C期末试卷A_第3页
南邮面向对象程序设计及C期末试卷A_第4页
南邮面向对象程序设计及C期末试卷A_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、学期学年第二南京邮电大学1C+(期末)试卷面向对象程序设计及姓名班级学号院(系) (温馨提醒: 这是试题纸,教师不批改,请将所有最终答案写在答题纸上请在试题纸和答题纸上均完整填写班级、学号、姓名信息 考试结束时请将答题纸、试题纸及草稿纸一并交来谢谢合作!祝同学们取得好成绩!)自II觉分得分)一、填空题(共10分,每空1装遵 和编译、 1、开发C+程序与开发其他高级语言的程序一样,包括编辑、 守订考四个步骤。试线,在程序中用于代表标准输出设备。 2、C+语言中的标准输出流对 象是规语句释放动态内存空 3、对于已存在的定义“ int *ptr=new int 10; ,应该用 内则,诚问。不信C+

2、语言提供了处理异常的有效机制,通过 抛出异常,通过 、4要考检测异常、通过catch捕捉并处理异常。试,答5、类的成员有3种访问属性,其默认的访问属性为;访问属性为 的绝题不成员既可被派生类继承又保持了封装和信息隐藏性。(请填关键字)作,而虚函数用C+支持两种多态性,其中函数重载和运算符重载用于实现6、弊于实现分)20二、单选题(共分,每题下面语句中错误的、假设已有定义 :const char *name=chen;。是name=lin;、name3= a; B、Acoutname3;name=new char5; D、C、2、设有语句 void f(int a10,int &x); int

3、y10,*py=y,n=10;。f 则对函数的正确调用语句是 f(py,10); f(*py,&n);、 D、f(py,n);、Af(py10,n);B、C。3、下列不正确的重载函数是void print(float X);和 A、int print(int X);char disp(int Y) const;B 和、int disp(int X);int disp(char * s,int X); 和、Cvoid disp(char * str,int Y); int view(int X); 和 int view(int X , int y); 、D.4、有关this指针的描述中,错误的是

4、。A、this指针可以在程序中显式使用B、this指针是在使用对象时由系统自动生成C、this指针是指向当前对象的指针D、this指针是指向成员函数的指针5、关于成员函数特征的下列描述中,A、成员函数一定是内联函数C、成员函数可以设置缺省参数值6、以下关于构造函数的叙述不正确的是是错误的。B、成员函数可以重载D、成员函数可以是静态的A、构造函数名必须和类名一致B、构造函数在定义对象时自动执行C、构造函数无任何函数类型D、一个类的构造函数有且仅有一个7、下列哪一项不能访问基类的保护成员。A、基类的友元函数B、派生类的对象C、基类的成员函数D、公有派生类的成员函数8、下面有关基类与公有派生类的赋值

5、兼容原则,正确的是A、公有派生类对象不能赋给基类对象B、基类对象能赋给其公有派生类的引用C、基类对象不能赋给公有派生类对象D、公有派生类对象地址不能赋给基类指针变量9、是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。A、虚析构函数B、虚构造函数C、纯虚函数D、静态成员函数10、假定要对类AB以友元函数形式重载加号运算符,实现两个 AB类对象的加 法,并返回相加结果,则该函数的声明语句为:??A、friend AB ?operator+(AB ?& a , AB ?& b);?B、friend operator+(AB ?a)?;?C、friend AB

6、?operator+(AB ?& a)?;D、friend AB ?& operator+();三、读程题(共30分,每空2分)得分1、以下程序运行后的输出结果第一行 是 (1),第二行是 (2)。#include using namespace std;int i=0;void main() int i=5;coutiendl;二i=i*20;cout:iendl;2、以下程序运行后的输出结果第一行是(3),第二行是 (4),第三行是(5)。#includeusing namespace std;class baseint n; public: n=i; base(int i)return

7、n;int getn()s2); friend int add(base &s1,base;s2) int add(base &s1,baseresult= +; int =;=t; int t=; return result;void main()(base A(29),B(11);coutadd(A,B) endl;cout()endl;cout()endl;)_(7)_。(6),第二行是3、以下程序运行后的输出结果第一行是 #include using namespace std;templateT fun(T x口,int n)int i;T value=x0; 自 for (i=1;

8、in;i+)觉 if (valuexi) 装遵value=xi; 守订考 return value;试线规void main()则内 int arrayA=5,8,2,9,1,7; , 诚 double arrayB=,;信coutfun(arrayA,6)endl;考要 coutfun(arrayB,5)endl;试,答绝(9),第二行是(8)。 4、以下程序运行后的输出结果第一行是题不1 #include 作 using namespace std;弊class base public:virtual void fun(void)coutase:funendl; ;class divide

9、:public basepublic:void fun(void)coutdivide:funendl; ;void main(void)divide d; b1; basebase & b2=d;();();自觉装遵(10),第二行是(11)5、以下程序运行后有多行输出结果,其中第一行是守。(13)第三行是 (12,第四行是 订考#include试线 using namespace std;规class A内则, 诚不int n;信要考 public:试A()答,绝 coutconstructing Aendl;题不A()作 coutvvdestructing Aendl;弊;class B

10、:public Aint n;A a;public:B() coutvvconstructing Bvvendl;B()coutvvdestructing Bvvendl; ;void main() B b;(15)。#include using namespace std; const double PI=; class Shape public:virtual void display( ) =0;class Rectangle:public Shape public:/定义抽象基类Shape/声明纯虚函数/定义派生矩形类Rectangle6、以下程序运行后的输出结果第一行是(14),第二

11、行是Rectangle(double h,double w):hight(h),width(w)void display()couthight*widthendl;private:double hight,width;class Circlepublic Shapepublic:Circle(double r):radius(r)void display()/纯虚函数的实现代码/定义派生圆类Circle/纯虚函数的实现代码private:coutPI*radius*radiusdisplay(); ptr1-display(); delete ptr0;/创建Circle类的对象调用Recta

12、ngle类的display函数/调用Circle类的display函数delete ptr1;分得四、程序填空题(共10分,每空2分)当前文件夹下存在文本文件,现将该文件打开并将该文件内容原样复制到同一文件夹下新的文本文件中,请完善程序:#include #include using namespace std;void main()ifile();if(!ifile)cout cannot be openned!endl; return;ofile();if(!ofile)cout cannot be openned!b;不coutbc;考要b=c+;,答 coutbc; 绝 不题 回车 运

13、行程序,输入:1 2后,结果显示如下:作1+2i 弊标准答案 10一、填空题(共分)分,每空1空号答案链运coudelete ptrthrowtryprivatprotecte静态多态动态多态.二、单选题(共20分,每题2分)三、读程题(共30分,每空2分)题号空格号答案1)(151(2)1002)(3402)(4112(5)113(6)93)(748)(divide:fun4(9)base二fun510)(constructing A5(11)constructing A5(12)constructing B5(13)destructing B614)(306(15)1四、程序填空题(共10

14、分,每空2分)2 3 4 5 6 7 8 9 10题号 1A D B C CB C D A A答案 fstream ifstream ofstream (ch) (ch);五、编程题1 (15分)#include #include using namespace std;class Student char *name;int age;public:Student(char *n,int a);Student( );void print( );class Postgrad:public Studentint credit;public:Postgrad(char *n,int a,int c)

15、:Student(n,a) credit=c;void print( ) Student:print( );coutcredit:creditendl;Student:Student(char *n,int a)name=new charstrlen(n)+1;strcpy(name,n);age=a;Student:Student ( )delete name;void Student:print( )coutame:nameendl;coutage:ageendl;void main() Postgrad pg(ZhangSan, 24,120); /姓名、年龄、学分();六、编程题 2 (15 分 )#include class Complex double real,imag;public:Complex(double r=0,double i=0)real=r;imag=i;Complex operator + (int);friend ostream & operator (istream & in, Complex & obj) ; TOC o 1-5 h z Complex Complex:operator + (int)/以重载单目运算符后缀+ Complex tem

温馨提示

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

评论

0/150

提交评论