福建工程学院c语言考研真题,福建工程学院C试卷B.doc

福建工程学院C试卷B.doc

第 1 页班级姓名学号福建工程学院2009 2010学年第二学期期末考试 B卷 共 9 页 课程名称面向对象程序设计 考试方式开卷( )闭卷()题号一二三四五六七八九十总分统分人签名得分 密 封 线考生注意事项1、本试卷共 9 页,请查看试卷中是否有缺页。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。教师注意事项如果整门课程由一个教师评卷的,只需在累分人栏目签名,题首的评卷人栏目可不签名。一、单项选择题 每小题2分,共30分得分评卷人 1. 重载一个运算符时,其参数表中没有任何参数,这表明该运算符是 B A.作为友元函数重载的1元运算符B.作为成员函数重载的1元运算符C.作为友元函数重载的2元运算符D.作为成员函数重载的2元运算符2. 在C中把不返回任何类型的函数应该说明为( C )。A. int B. charC. void D. double3. 要实现动态联编必须( D )。A.通过成员名限定来调用虚函数 B.通过对象名来调用虚函数C.通过派生类对象来调用虚函数 D.通过对象指针或引用来调用虚函数4在C中,封装是借助( B )达到目的。 A结构 B类 C数组 D函数 第2页 5. 假定AA是一个类,“AA* abcconst;”是该类中一个成员函数的原型,若该函数返回this值,当用x.abc调用该成员函数后,x的值 C A.已经被改变 B.可能被改变C.不变 D.受到函数调用的影响6.以下关于抽象类的描述, D 是正确的。A. 不能说明抽象类的指针或引用B. 可以说明抽象类对象C. 抽象类的纯虚函数的实现可以由自身给出,也可以由派生类给出D. 抽象类的纯虚函数的实现由派生类给出7. 以下关于函数模板叙述正确的是 C A.函数模板也是一个具体类型的函数B.函数模板的类型参数与函数的参数是同一个概念C.通过使用不同的类型参数,函数模板可以生成不同类型的函数D.用函数模板定义的函数没有类型8. 建立含有类对象成员的派生类对象时,其构造函数的执行顺序为( C )A.自己所属类、对象成员所属类、基类的构造函数B对象成员所属类、基类、自己所属类的构造函数C基类、对象成员所属类、自己所属类的构造函数D基类、自己所属类、对象成员所属类的构造函数9. 构造函数不具备的特征是 D A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明 密 封 线班级姓名学号 第 3 页10. 实现两个相同类型数加法的函数模板的声明中( D )是正确的。A.addT x,T y B.T addx,yC.T addT x,y D.T addT x,T y11C 对 C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是 D A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念。12. 若Sample类中的一个成员函数说明为void setSamplea,则Samplea的含义是( B )。A.指向类Sample的名为a的指针B.a是类Sample的对象引用,用来作函数Set()的形参C.将a的地址赋给变量SetD.变量Sample与a按位与的结果作为函数Set的参数13. 在 C 情况下适宜采用inline定义内联函数。A.函数体含有循环语句 B.函数体含有递归语句C.需要加快程序的执行速度 D.函数代码多、不常调用14. this指针存在的目的是( B )。A保证基类公有成员在子类中可以被访问B保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C保证基类保护成员在子类中可以被访问D保证基类私有成员在子类中可以被访问 15.类的析构函数是对一个对象进行( B )操作时自动调用。 A.建立 B撤消C赋值 D引用第4页二、填空题(每空1分,共20分)得分评卷人 1. 带有_纯虚函数_的类称为抽象类,它只能作为_基类_来使用。2同一个类的两个对象,其数据成员是不同的,但 成员函数 是共享的。3设在程序中使用如下语句申请了一个对象数组Point * ptr new Point2;则在需要释放ptr指向的动态数组对象时,所使用的语句是delete ptr 。4. 对象传送的消息一般由3部分组成接收对象名、调用操作名和_必要的参数_。5. 类成员的默认访问方式是 私有 。6类完成了面向对象程序设计的 封装 特性。7执行下列代码 cout Hex hex 255;程序的输出结果为Hexff。8C的流库预定义了4个流,它们是cin、cout、cerr 和clog。9. 类中运算符重载一般采用两种形式 非静态成员函数 和 非成员函数 。10. 基类的公有成员在私有派生类中是_私有_成员,基类的保护成员在公有派生类中是保护成员。11. 对虚函数使用对象指针或引用,系统使用_动态_联编,对虚函数使用对象调用时,系统使用静态联编。12将成员函数放在类外,所使用的作用域运算符为 。13. 重载“”操作符时,应声明为 _非成员_ 函数。14. 所谓赋值兼容规则是指在公有派生情况下,一个_派生_类的对象可以作为_基_类的对象来使用的地方。15. 若y是x的引用,则对y的操作就是对_x_的操作。 密 封 线班级姓名学号 第 5 页三、程序分析(每小题4分,共20分)得分评卷人 1.阅读程序,写出运行结果include iostream.hclass aa public virtual int func return 0; ; 运行结果580class test public aa public int func return 58;public virtual int func return 0; ; void main test d; aa b d; cout d.func endl; cout b.aafunc endl; 2.阅读程序,写出运行结果include iostreamh运行结果S1与S2的数据成员不相等S1与S2的数据成员相等 template class T class Sample T n; public SampleT ini; int operatorSample ; ; template class T int SampleToperatorSamples ifns.n return 1; else return 0;IfS1sInt a;void main Sampleint sl2,s23; couts1与s2的数据成员sls2 相等不相等endl; Sampledoubles32.5,s42.5; couts3与s4的数据成员s3s4 相等不相等endl; 3. 阅读程序,写出运行结果include iostream.hclass A private int X,Y; public A XY0; coutDefault Constructor called.endl; Aint xx,int yy Xxx;Yyy; cout Constructor called.endl; A coutDestructor called.endl; 运行结果Default Constructor called.Destructor called.Constructor called.Destructor called.;void mainA b;A *p1new A;delete p1; p1new A1,2;delete p1; 密 封 线班级姓名学号 第 7 页4. 下面程序中有一处错误,请用下横线标出错误所在行并提出修改意见。class MyClassint x20,y;(这一句错,因为类内不能直接对数据成员初始化。可以将x定义为静态数据成员,再在类外初始化为20)publicMyClassint aa,int bb;int GetX;int GetY; ;5. 下面程序中有一处错误,请用下横线标出错误所在行并提出修改意见。class Oneprotected int a;(将protected改为public)public void setOneint xax;void showOnecoutaaendlclass Twoprivate One (将private改为public)public void setTwoint xaxvoid main Two obj;obj.setTwo10;coutobj.aobj.aendl;(这句错,因为无法直接访问保护数据成员。修改意见用紫色的修改)四、编程题(每题10分,共30分)得分评卷人 1.编写复数类Complexnumber,其属性为real(实部),img(虚部)。完成复数的加法运算Add()和减法运算Sub()及对应的运算符和-运算符重载。第8页2. 类Point中含有属性坐标x,y,要求能用disp成员函数输出坐标。设计一个友元函数distance,计算任意两点的距离。3. 编写代码,模拟动物Animal的叫声。要求用多态技术实现。动物为Cat,Duck,Dog。 B C D B C D C C D D D B C B B 密 封 线班级姓名学号 第 9 页

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值