欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    面向对象程序设计c++试题-(共12页).doc

    • 资源ID:15059318       资源大小:47KB        全文页数:12页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象程序设计c++试题-(共12页).doc

    精选优质文档-倾情为你奉上面向对象程序设计c+试题 答案在后面一、填空题(每空1分,共14分)1、 观看以下程序:class pointpublic: void show() cout<<”point”<<endl;void main()point p1;point *p;p=&p1;_p1.show()_/通过对象p1访问show函数_p->show()_/通过指针p访问show函数2、在C+类中可以包含_公有_、_私有_和_保护  _三种具有不同访问控制权的成员。3、定义类时,在类头中将使用关键字_class _来表示类定义的开始。4、如果一个类中至少有一个纯虚函数,则该类称为_抽象类_。5、C+类的组成包括数据成员和_成员函数_,友元_不是_(是、不是)该类的成员函数。6、友员函数是用关键字_friend  _修饰的非成员函数。7、若有:int i;int &j=i;i=10;j=i+1;则i=_11_,j=_11 _。8、 new的功能是_动态申请内存空间_,delete的功能是_释放由new申请的空间  _。二、 选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是( D )。(A)数据封装 (B)继承(C)多态性 (D)模板2、( B )是给变量取一个别名,它引入了变量的同意词。(A)指针 (B)引用 (C)枚举 (D)结构3、类成员的访问权限中,( C )只能被本类的成员函数和其友元函数访问。(A)share(B)public (C)private (D)protected4、关于构造函数,下列说法不正确的是( D )。(A)构造函数名字和类名相同(B)构造函数在创建对象时自动执行(C)构造函数无任何函数返回类型(D)构造函数有且只有一个5、派生类可以访问其基类的( D )。(A)公有成员(B)保护成员(C)私有派生(D)公有和保护成员6、下列关于运算符重载的描述中,错误的是( B )。(A)运算符重载不可以改变操作数的个数(B)运算符重载不可以改变运算符的功能(C)运算符重载不可以改变结合方向(D)运算符重载不可以改变运算优先级7、C+语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是( B ) (A)面向过程(B)面向对象(C)安全性(D)复用性8、对于类中定义的成员,其隐含访问权限为( C )。 Apublic Bprotected Cprivate Dstatic9、下面有关重载函数的说法中正确的是( C ) (A)重载函数必须具有不同的返回值类型;(B)重载函数形参个数必须不同; (C)重载函数必须有不同的形参列表 (D)重载函数名可以不同;10、有如下的对类“CSample”的说明,其中( A )是错误的。class CSample Aint a=23;BCSample();public:CCSample(int val);D CSample();11、在int a=3,int *p=&a;中,*p的值是( D )A.变量a的地址值 B.无意义C.变量p的地址值 D.312、每个类( C )构造函数。(A)只能有一个 (B)只可有公有的(C)可以有多个 (D)只可有缺省的13、在一个类中可以对一个操作符进行( D )重载。(A)1种 (B)2种以下 (C)3种以下 (D)多种14、在公有继承的情况下,基类非私有成员在派生类中的访问权限( B )(A) 受限制 (B)保持不变 (C)受保护 (D)不受保护15、应在下列程序划线处填入的正确语句是( C )#include <iostream.h>class Basepublic: void fun()cout<<"Base:fun"<<ENDL;class Derived:public Base void fun()_/显示调用基类的函数fun()cout<<"Derived:fun"<<ENDL; ;(A)fun(); (B)Base.fun(); (C)Base:fun(); (D)Base->fun();16、执行下面的程序将输出( A )#include <iostream.h>class BASE char c; public: BASE(char n):c(n) virtual BASE()cout<<c; ;class DERIVED:public BASE char c; public: DERIVED(char n):BASE(n+1),c(n) DERIVED()cout<<c;int main()DERIVED a('X'); return 0; (A)XY (B)YX (C)X (D)Y17、 下面描述中,表达错误的是( B )(A)公有继承时基类中的public成员在派生类中仍是public的(B)公有继承是基类中的private成员在派生类中仍是private的(C)公有继承时基类中的protected成员在派生类中仍是protected的(D)私有继承时基类中的public成员在派生类中是private的18、定义析构函数时,应该注意( C )(A)其名与类名完全相同 (B)返回类型是 void类型(C)无形参,也不可重载 (D)函数体中必须有 delete语句19、对于在类中定义的静态数据成员,下面正确的说法是( C )A.该类的每个对象中都有一个静态数据成员B.对象创建时产生 C.在类外进行初始化D.既可以在类外初始化,也可以在类内初始化 20、C+中声明常量的关键字是( A )。A. const B. extern C. public D. enum 三、 改错题(每处2分,共6分)1、使用VC6打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:member=0 member=5 menber=10 源程序文件main.cpp清单如下: #include <iostream.h> class MyClass public: MyClass(int i)member=i; void SetMember(int m)member=m; int GetMember()constreturn menber; void print()contcout<<"member="<<MEMBER<<ENDL; private: int member; ; voed main() MyClass obj1; /更正_MyClass obj1(0)_ obj1.print(); MyClass obj2(3); obj1.member=5; /更正_obj1.SetMember(5)_ MyClass.SetMember(10); /更正_obj2.SetMember(10)_ obj1.print(); obj2.print(); 四、 写出下列程序的执行结果(每小题5分,共20分)1、 #include<iostream.h>class Sample int n;public:Sample(int i)n=i;friend int add(Sample &s1,Sample &s2);int add(Sample &s1,Sample &s2)return s1.n+s2.n;void main()Sample s1(10),s2(20);cout<<add(s1,s2)<<endl;执行结果是: (1)30   (5分) 2、 #include<iostream.h>int add(int x,int y)return x+y+1;double add(double x,double y)return x+y-1;void main()int a=2,b=4;double c=2.6,d=7.4;cout<<add(a,b)<<","<<add(c,d)<<endl; 执行结果是: (2)7   9   (每个2.5分) 3、#include<iostream.h>class Apublic:int n;class B:virtual public A;class C:virtual public A;class D:public B,public Cint getn()return B:n;void main()D d;d.B:n=10;d.C:n=20;cout<<d.B:n<<","<<d.C:n<<endl;执行结果是: (3)20   20  (每个2.5分) 4、#include <iostream.h>class myclassint a,b;static int s; public:myclass(int x,int y)a=x;b=y;s+;void print()cout<<s<<endl; int myclass:s=0; void main() myclass m1(1,2),m2(4,5),m3(6,7); m1.print(); m2.print(); m3.print(); 执行结果是: (4)3(2分)3(2分)3(1分) 五、编程题(每题10分、共30分)1、测试一个名为rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,能计算矩形的面积。(10分) 2、定义一boat与car两个类,二者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。(10分) 3、设计一个汽车类vehicle,包含的数据成员有车轮个数wheels和车重weight。小车类car是它的派生类,其中包含载人数passenger_load。每个类都有相关数据的输出方法。在主程序中定义一个car类对象,对其车轮个数、车重、载人数进行设置并显示。(10分) 1、#include <iostream.h>#include <math.h>class rectangle  /(2分)private:       int x1,y1,x2,y2; / (2分)public:       rectangle(int xx1,int yy1,int xx2,int yy2) /(1分)                     x1=xx1;y1=yy1;x2=xx2;y2=yy2;              int getarea()   /(2分)                     return abs(x2-x1)*(y1-y2);       ;void main()       rectangle rect1(3,7,8,5); (2分)       cout<<rect1.getarea()<<endl; (1分) 2、(10分)#include <iostream.h>class car;(1分)class boat private:       int weight;  /(1分)public:       boat(int w):weight(w)  /(1分)       friend int totalweight(boat b1,car c1);  /(2分);class car  /(1分)private:       int weight; (1分)public:       car(int w):weight(w);       friend int totalweight(boat b1,car c1); (1分);int totalweight(boat b1,car c1)  /(1分)       return b1.weight+c1.weight;void main()       car c1(1000);       boat b1(2000);       cout<<totalweight(b1,c1)<<endl;(1分) 3、(10分)#include<iostream.h>class vehicle / 定义汽车类 (3分)protected:int wheels; / 车轮数float weight; / 重量public:vehicle(int wheels,float weight);int get_wheels();float get_weight();float wheel_load();void show();class car:public vehicle / 定义小车类 (3分)int passenger_load; / 载人数public:car(int wheels,float weight,int passengers=4);int get_passengers();void show();vehicle:vehicle(int wheels1,float weight1)  /(1分)wheels=wheels1;weight=weight1;int vehicle:get_wheels()return wheels;float vehicle:get_weight()return weight;void vehicle:show()  (1分)cout << "车轮:" << wheels << "个" << endl;cout << "重量:" << weight << "公斤" << endl;car:car(int wheels, float weight,int passengers) :vehicle(wheels, weight)passenger_load=passengers;int car:get_passengers ()return passenger_load;void car:show()cout <<" 车型:小车" << endl;vehicle:show();cout << "载人:" << passenger_load << "人" << endl;cout << endl;void main ()car car1(4,2000,5);  (1分)cout << "输出结果" << endl;car1. show (); (1分)   专心-专注-专业

    注意事项

    本文(面向对象程序设计c++试题-(共12页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开