版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自觉遵装守考订试线规则内,诚不信考要试,答绝不题作弊南京邮电大学学年第二学期面向对象程序设计及C+(期末)试卷1院( 系)班级学号姓名(温馨提醒: 这是试题纸,教师不批改,请将所有最终答案写在答题纸上 请在试题纸和答题纸上均完整填写班级、学号、姓名信息 考试结束时请将答题纸、试题纸及草稿纸一并交来谢谢合作!祝同学们取得好成绩!)得 分一、填空题(共10 分,每空 1 分)1、开发 C+程序与开发其他高级语言的程序一样,包括编辑、编译、 和 四个步骤。2、C+语言中的标准输出流对象是,在程序中用于代表标准输出设备。3、对于已存在的定义“ int *ptr=new int 10 ; ”,应该用语句
2、释放动态内存空间。4、C+语言提供了处理异常的有效机制,通过抛出异常,通过检测异常、通过 catch 捕捉并处理异常。5、类的成员有 3 种访问属性, 其默认的访问属性为;访问属性为 _的成员既可被派生类继承又保持了封装和信息隐藏性。(请填关键字)6、C+支持两种多态性,其中函数重载和运算符重载用于实现 ,而虚函数用于实现。得 分二、单选题(共 20 分,每题 2 分)1、假设已有定义 :const char *name=chen;下面语句中错误的是。A 、name3= a;B、name=lin;C、name=new char5;D、coutname3;2、设有语句 void f(int a1
3、0,int &x);int y10,*py=y,n=10;则对函数 f 的正确调用语句是。A 、 f(py10,n);B 、f(py,n);C、f(*py,&n);D、 f(py,10);3、下列不正确的重载函数是。A 、 int print(int X);和 void print(float X);B、 int disp(int X);和 char disp(int Y) const;C、 void disp(char * str,int Y); 和 int disp(char * s,int X); D、 int view(int X , int y); 和 int view(int X)
4、;4、有关 this 指针的描述中,错误的是A 、 this 指针可以在程序中显式使用B、 this 指针是在使用对象时由系统自动生成C、 this 指针是指向当前对象的指针D、 this 指针是指向成员函数的指针。5、关于成员函数特征的下列描述中,A 、成员函数一定是内联函数C、成员函数可以设置缺省参数值6、以下关于构造函数的叙述不正确的是A 、构造函数名必须和类名一致C、构造函数无任何函数类型7、下列哪一项不能访问基类的保护成员A 、基类的友元函数C、基类的成员函数是错误的。B、成员函数可以重载D、成员函数可以是静态的。B、构造函数在定义对象时自动执行D、一个类的构造函数有且仅有一个。B、
5、派生类的对象D、公有派生类的成员函数8、下面有关基类与公有派生类的赋值兼容原则,正确的是。A 、公有派生类对象不能赋给基类对象B、基类对象能赋给其公有派生类的引用C、基类对象不能赋给公有派生类对象D、公有派生类对象地址不能赋给基类指针变量9、_是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。A 、虚析构函数B、虚构造函数C、纯虚函数D、静态成员函数10、假定要对类 AB 以友元函数形式重载加号运算符, 实现两个 AB 类对象的加法, 并返回相加结果,则该函数的声明语句为: ?。A 、friend AB ?operator+(AB ?& a , AB ?&
6、 b);?B、friend operator+(AB ?a)?;?C、friend AB ?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;cl
7、ass baseint n;public:base(int i) n=i; int getn( )return n;friend int add(base &s1,base s2);int add(base &s1,base s2)intresult= s1.n+s2.n;intt=s1.n;s1.n=s2.n;s2.n=t;return result;void main( )base A(29),B(11);coutadd(A,B) endl;coutA.getn()endl;coutB.getn()endl;3、以下程序运行后的输出结果第一行是(6) ,第二行是_(7)_ 。#includ
8、e using namespace std;templateT fun(T x,int n)int i;T value=x0;for (i=1;in;i+)if (valuexi)value=xi;return value;void main() int arrayA=5,8,2,9,1,7;double arrayB=3.8,5.8,2.7,9.4,1.6;coutfun(arrayA,6)endl;coutfun(arrayB,5)endl;4、以下程序运行后的输出结果第一行是(8),第二行是(9)。#include using namespace std;自觉遵装守考订试线规则内,诚不信
9、考要试,答绝不题作弊自觉遵装守考订试线规则内,诚不信考要试,答绝不题作弊class basepublic:virtual void fun(void)coutbase:funendl;class divide:public basepublic:void fun(void)coutdivide:funendl;void main(void) divide d;baseb1;base & b2=d;b2.fun();b1.fun();5、以下程序运行后有多行输出结果,其中第一行是(10),第二行是(11)第三行是(12),第四行是(13) 。#includeusing namespace std
10、;class Aint n;public:A( )coutconstructing Aendl;A( ) coutdestructing Aendl; ;class B:public Aint n;A a;public:B( )coutconstructing Bendl;B( ) coutdestructing Bendl; ;void main( )B b;6、以下程序运行后的输出结果第一行是(14),第二行是(15)。#includeusing namespace std;const double PI=3.14159;class Shape/ 定义抽象基类Shapepublic:vir
11、tual void display( ) =0;/声明纯虚函数;class Rectangle:public Shape/定义派生矩形类Rectanglepublic:Rectangle(double h,double w):hight(h),width(w)void display( )/纯虚函数的实现代码couthight*widthendl;private:double hight,width;class Circle:public Shape/定义派生圆类 Circlepublic:Circle(double r):radius(r)void display( )/纯虚函数的实现代码c
12、outPI*radius*radiusdisplay( );/调用 Rectangle类的 display 函数ptr1-display( );/调用 Circle 类的 display 函数delete ptr0;delete ptr1;得 分四、程序填空题(共 10 分,每空 2 分)当前文件夹下存在文本文件f1.txt ,现将该文件打开并将该文件内容原样复制到同一文件夹下新的文本文件f2.txt 中,请完善程序:#include #include using namespace std;void main()ifile(f1.txt);if(!ifile) coutabc.txt can
13、not be openned!endl; return; ofile(f2.txt);if(!ofile) coutxyz.txt cannot be openned!b;coutbc;b=c+;coutbc;运行程序,输入: 12后,结果显示如下:1+2i3.2+7.8i3.2+7.8i4.2+8.8i标准答案一、填空题(共10 分,每空 1 分)空号答案链接运行 cout delete ptr; throw try private protected静态多态性动态多态性自觉遵装守订考试线规则内,诚不信考要试,答绝不题作弊二、单选题(共20 分,每题 2 分)三、读程题(共30 分,每空 2
14、 分)题号空格号答案1(1)51(2)1002(3)402(4)112(5)113(6)93(7)9.44(8)divide:fun4(9)base:fun5(10)constructing A5(11)constructing A5(12)constructing B5(13)destructing B6(14)306(15)3.14159四、程序填空题(共10 分,每空 2 分)空格号答案题号12345678910答案ABCDADBCCAfstreamifstreamofstreamifile.get(ch)ofile.put(ch);五、编程题 1 (15 分)#include #inc
15、lude 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):Student(n,a) credit=c;void print( ) Student:print( );coutcredit:creditendl;Student:Student(char *n,int a)name
16、=new charstrlen(n)+1;strcpy(name,n);age=a;Student:Student ( )delete name;void Student:print( )coutname:nameendl;coutage:ageendl;void main()Postgrad pg(ZhangSan, 24,120); /姓名、年龄、学分 pg.print();六、编程题 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) ;Complex Complex:operator + (int)/以重载单目运算符后缀Complex temp(*this);/复制当前对象到对象temp 中r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年博白县事业单位真题
- 绿色交通政策与实践
- 农业面源污染治理工程施工组织设计
- 2026年财务收支审计考试试题及答案
- 2026年春季学期高中生心理健康调查问卷(寄宿制版)
- 安全生产制度执行调查问卷
- 办公区域日常保洁制度
- 肛肠解剖结构优化研究
- 2025 初中写作提升文采的常用方法课件
- 2025 初中写作感恩作文的感恩行动描述课件
- 第5章专题01平面向量及其应用(题型篇)(原卷版)
- 工厂车间手机管理制度
- 2026年河南工业贸易职业学院单招职业技能测试题库及答案1套
- 2025年浙江师范大学辅导员考试真题
- 房东委托开票法律文书模板
- DB34∕T 4465-2023 人力资源服务标准体系建设要求
- 2025年榆林旅投集团招聘备考题库(25人)附答案
- 糖尿病合并心血管疾病患者运动与营养联合干预方案
- DBJ-T13-250-2021 福建省合成材料运动场地面层应用技术标准
- 基于地域文化背景下的新疆维吾尔自治区博物馆展示设计研究
- 周公旦的历史足迹
评论
0/150
提交评论