




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
扬州大学信息工程学院2006级函授计算机专升本“面向对象程序设计”课程考试试卷(B) 教学点_ 2008 /2009学年第一学期 考试时间: 年 月 日班级 学号 姓名 得分 题 号一二三四五总分签 名得 分一、 选择题(15分)得分评卷人 1、在C+中,应该使用 _ 来动态分配和释放内存。A. new,delete B. malloc( ),delete C. malloc( ),realloc( ) D. malloc( ),free2、下列关键字中,_ 不是类定义中使用的关键字。A. classB. public C. switchD. private3、假定AB是一个类,则该类的拷贝构造函数的声明语句为_。 A. AB &( AB x) B. AB ( AB x) C. AB ( AB &) D. AB ( AB *x)4、主函数可以访问派生类的对象中它的_。A. 公有继承的基类的公有成员 B. 公有继承的基类的保护成员C. 公有继承的基类的私有成员 D. 私有继承的基类的公有成员5、对基类和派生类的关系描述中,_ 是错误的。 A. 派生类是对基类的具体化 B. 派生类是基类的子集 C. 派生类是基类定义的延续 D. 派生类是基类的组合6、在多重继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则_。 A. 完全相同 B. 完全不同 C. 部分相同,部分不同 D. 以上都不对7、设置虚基类的目的是_。A. 简化程序 B. 消除二义性 C. 提高运行效率 D. 减少目标代码8、下列有关运算符重载的描述中,_ 是正确的。A. 运算符重载可改变其优先级 B. 运算符重载不改变其语法结构C. 运算符重载可改变其结合性 D. 运算符重载可改变其操作数的个数9、下列运算符中,_ 运算符在C+中不能重载。A. ?: B. + C. - D. =10、下列对模板的声明,正确的是 _ 。 A. template B. template C. template D. template二、 填空题(20分)得分评卷人 1、C源程序的扩展名为.c,C+源程序文件的扩展名为_。2、多行注释的开始标记符和结束标记符分别为_和_。3、从一条函数原型语句“int ff(int a);”可知,该函数的返回类型为_,该函数带有_个参数。4、当一个类对象撤销时将自动调用该类的_。5、对于类中定义的成员,其隐含的访问权限是_。6、在一般情况下,用点运算符(.)来引用对象成员,当用指向对象的指针来引用对象成员时,要用_操作符。 7、假定AB为一个类,若用户没有给其定义构造函数,则系统自动为其隐含定义的构造函数为_。8、若需要把int F(void)函数定义为类A的友元函数,则应在类A的定义中加入一条语句_。9、使用派生类的主要原因是提高代码的_性。10、类模板的使用实际上是将类模板实例化成一个具体的类,它的格式为_。三、程序分析题(20分)得分评卷人 1、 下面是一个C程序,改写它,使它采用C+风格的I/O语句。#include main() int a,b,d,min; printf(Enter two numbers:); scanf(%d%d,&a,&b); min=ab?b:a; for(d=2;dmin;d+) if(a%d=0)&(b%d=0) break; if(d=min) printf(No common denominatorsn); return 0; printf(The lowest common denominator is %d ,d); return 0;2、阅读下列程序,写出执行结果。include class A int i,j;public: A(int a, int b)i=a; j=b; void add(int x, int y) i+=x; j+=y; void print() cout”i=”it”j=”jn;class B: public A int x,y; public: B(int a, int b, int c, int d):A(a,b)x=c; y=d;void ad(int a, int b)x+=a; y+=b; add(-a,-b);void print()cout”x=”xt”y=”yn;void main()A a(100,200);a.print();B b(200,300,500,600);b.ad(50,60);b.A:print();b.print();运行结果: 3、下面是一个类的定义,存在着3处语法错误(有的为单个字符),请指出错误行的行号并改正。class CE /1行 private /2行 int a,b; /3行 int getmin() return (ab? a:b); /4行 public: /5行 int c; /6行 void SetValue(int x1,int x2, int x3) /7行 a=x1; b=x2; c=x3; /8行 /9行 int GetMin(); /10行 /11行int GetMin() /12行int d=getmin(); /13行return (dc? d:c); /14行 /16行错误行的行号为 、_ 和 _。分别改正为_、_和_。4、写出下列程序的运行结果。include int i=15;void main()int i;i=100;:i=i+1;cout:iemdl; 程序运行结果_四、 简答题(15分)得分评卷人 1、构造函数与析构函数的主要作用是什么?为什么构造函数允许重载而析构函数不允许重载?2、分析使用友元的利弊。3、编译时的多态性与运行时的多态性有什么区别?它们的实现方式有什么不同?五、 编程题(30分)得分评卷人 1、输入10个学生的成绩,求平均成绩,并将低于平均成绩的分数打印出来。2、定义一个类Score,它含有私有成员English_score(英语分数)、公有成员函数Setscore() 和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论