




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、填空题(每空1分,共14分)1、观看以下程序:classpoint{public:voidshow(){cout<<"point"<<endl;}};voidmain(){pointp1;point*p;p=&p1;p1.show()/通过对象p1访问show函数p.show()/通过指针p访问show函数}2、 在C++类中可以包含—公共___、—保护—和—私有__三种具有不同访问控制权的成员。3、 定义类时,在类头中将使用关键字__class—来表示类定义的开始。4、如果一个类中至少有一个纯虚函数,则该类称为抽象类。5、C++类的组成包括数据成员和成员函数,友元—是—(是、不是)该类的成员函数。6、友员函数是用关键字—friend修饰的非成员函数。7、 若有:inti;int&j=i;i=10;j=i+1;则i=―11,j=___11。8、new的功能是分配内存空间delete的功能是 释放内存空间。二、选择题(每小题1.5分,共30分)1、 下列特性中不是面向对象程序设计语言所特有的是(D)。(A)数据封装(B)继承(C)多态性(D)模板2、(B)是给变量取一个别名,它引入了变量的同意词。(A)指针(B)引用(C)枚举(D)结构3、 类成员的访问权限中,( )只能被本类的成员函数和其友元函数访问。(A)share(B)public(C)private(D)protected4、 关于构造函数,下列说法不正确的是( )。(A) 构造函数名字和类名相同(B) 构造函数在创建对象时自动执行(C) 构造函数无任何函数返回类型(D) 构造函数有且只有一个5、 派生类可以访问其基类的( )。(A)公有成员 (B)保护成员(C)私有派生 (D)公有和保护成员6、 下列关于运算符重载的描述中,错误的是( )。(A) 运算符重载不可以改变操作数的个数(B) 运算符重载不可以改变运算符的功能(C) 运算符重载不可以改变结合方向(D) 运算符重载不可以改变运算优先级7、 C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法TOC\o"1-5"\h\z上进行的最大改进是( )(A)面向过程(B)面向对象 (C)安全性(D)复用性8、 对于类中定义的成员,其隐含访问权限为( )。A.public B.protectedC.private D.static9、下面有关重载函数的说法中正确的是( )(A)重载函数必须具有不同的返回值类型; (B)重载函数形参个数必须不同;(C)重载函数必须有不同的形参列表 (D)重载函数名可以不同;10、 有如下的对类“CSample”的说明,其中( )是错误的。classCSample(A.inta=23;B.CSample();public:C.CSample(intval);D.~CSample();11、 在inta=3,int*p=&a;中,*p的值是()A.变量a的地址值 B.无意义C.变量p的地址值 D.312、 每个类( )构造函数。(A)只能有一个 (B)只可有公有的(C)可以有多个(D)只可有缺省的13、 在一个类中可以对一个操作符进行( )重载。(A)1种(B)2种以下(C)3种以下(D)多种14、在公有继承的情况下,基类非私有成员在派生类中的访问权限( )(A)受限制(B)保持不变 (C)受保护(D)不受保护15、应在下列程序划线处填入的正确语句是( )#include<iostream.h>classBase(public:fun(){cout<<"Base::fun"<<ENDL;}};voidclassDerived:publicBase(voidfun()(/显示调用基类的函数fun()cout<<"Derived::fun"<<ENDL;}; }(A)fun();(B)Base.fun();(C)Base::fun();(D)Base->fun();16、执行下面的程序将输出( )#include<iostream.h>classBASE{charc;public:BASE(charn):c(n){}virtual~BASE(){cout<<c;}};classDERIVED:publicBASE{charc;public:DERIVED(charn):BASE(n+1),c(n){}~DERIVED(){cout<<c;}};intmain(){DERIVEDa('X');return0;}(A)XY(B)YX(C)X(D)Y17、 下面描述中,表达错误的是( )(A)公有继承时基类中的public成员在派生类中仍是public的(B)公有继承是基类中的private成员在派生类中仍是private的(C)公有继承时基类中的protected成员在派生类中仍是protected的(D)私有继承时基类中的public成员在派生类中是private的18、 定义析构函数时,应该注意( )(A)其名与类名完全相同 (B)返回类型是void类型——第4页——(C)无形参,也不可重载 (D)函数体中必须有delete语句19、对于在类中定义的静态数据成员,下面正确的说法是( )A.该类的每个对象中都有一个静态数据成员日.对象创建时产生在类外进行初始化既可以在类外初始化,也可以在类内初始化20、 C++中声明常量的关键字是()。A.constB.externC.publicD.enum三、改错题(每处2分,共6分)1、使用VC6打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:member=0member■=5源程序文件main.cpp清单如下:<iostream.h>#incliMyClasspasspublMyClass(inti)(member=i;}voidSetMember(intm)(member=m;}intGetMember()const(returnmenber;}voidprint()cont{cout<<"member="<<MEMBER<<ENDL;}privan:member;);main()voed{MyClassobjl;//更正 obj1.print();MyClassobj2(3);obj1.member=5; //更正MyClass.SetMember(10); //更正obj1.print();obj2.print();}四、写出下列程序的执行结果(每小题5分,共20分)1、#include<iostream.h>classSample{intn;public:Sample(inti){n=i;}friendintadd(Sample&s1,Sample&s2);};intadd(Sample&s1,Sample&s2){returns1.n+s2.n;}voidmain(){Samples1(10),s2(20);cout<<add(s1,s2)<<endl;}执行结果是:2、#include<iostream.h>intadd(intx,inty){returnx+y+1;}doubleadd(doublex,doubley){returnx+y-1;}voidmain(){inta=2,b=4;doublec=2.6,d=7.4;cout<<add(a,b)<<”,"<<add(c,d)<<endl;}执行结果是:3、#include<iostream.h>classA{public:intn;};classB:virtualpublicA{};classC:virtualpublicA{};classD:publicB,publicC{intgetn(){returnB::n;}};voidmain(){Dd;d.B::n=10;d.C::n=20;cout<<d.B::n<<”,"<<d.C::n<<endl;执行结果是:4、#include<iostream.h>classmyclass{inta,b;staticints;public:myclass(intx,inty){a=x;b=y;s++;}voidprint(){cout<<s<<endl;}};intmyclass::s=0;voidmain(){myclassm1(1,2),m2(4,5),m3(6,7);m1.print();m2.print();m3.print();}执行结果是:五、编程题(每题10分、共30分)1、测试一个名为rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,能计算矩形的面积。(10分)2、定义一boat与car两个类,二者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。(10分)3、设计一个汽车类vehicle,包含的数据成员有车轮个数wheels和车重weight。小车类car是它的派生类,其中包含载人数passenger_load。每个类都有相关数据的输出方法。在主程序中定义一个car类对象,对其车轮个数、车重、载人数进行设置并显示。(10分)-、 填空题(每空1分,共14分)(1)p1.show();p->show()(2)公有、私有、保护(3)class(4)抽象类(5)成员函数、不是(6)friend(7)11、11 (8)动态申请内存空间、释放由new申请的空间选择题(每小题1.5分,共30分)1、D2、B3、C4、D5、D6、B7、B8、C9、C10、A 11、D12、C13、D14、B15、C16、A 17、B18、C19、C20、A三、 改错题(每错2分,共6分)MyClassobj1(0);obj1.SetMember(5);obj2.SetMember(10);四、 写出下列程序的执行结果(每小题5分,共20分)(1)30 (5分)(2)7 9 (每个2.5分)(3)20 20(每个2.5分)(4)3(2分)3(2分)3(1分)五、 编程题(每题10分、共30分)#include<iostream.h>#include<math.h>classrectangle//(2分){private:intx1,y1,x2,y2;//(2分)public:rectangle(intxx1,intyy1,intxx2,intyy2)//(1分){x1=xx1;y1=yy1;x2=xx2;y2=yy2;}intgetarea()//(2分){returnabs((x2-x1)*(y1-y2));}};voidmain(){rectanglerect1(3,7,8,5);(2分)cout<<rect1.getarea()<<endl;(1分)2、(10分)#include<iostream.h>classcar;(1分)classboat{private:intweight;//(1分)public:boat(intw):weight(w){}//(1分)friendinttotalweight(boatb1,carc1);//(2分)};classcar{/(1分)private:intweight;(1分)public:car(intw):weight(w){};friendinttotalweight(boatb1,carc1);(1分)};inttotalweight(boatb1,carc1)//(1分)returnbl.weight+cl.weight;}voidmain(){carc1(1000);boatb1(2000);cout<<totalweight(b1,c1)<<endl;(1分)}3、(10分)#include<iostream.h>classvehicle//定义汽车类(3分){protected:intwheels;//车轮数floatweight;//重量public:vehicle(intwheels,floatweight);intget_wheels();floatget_weight();floatwheel_load();voidshow();};classcar:publicvehicle//定义小车类(3分){intpassenger_load;//载人数public:car(intwheels,floatweight,intpassengers=4);intget_passengers();voidshow()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国卡面铁钉软抄行业市场发展前景及发展趋势与投资战略研究报告
- 农药微生物的生态服务功能与农业可持续发展考核试卷
- 2025年双面切刀项目投资可行性研究分析报告
- 2025年中国塑料化妆品包装行业发展监测及发展战略规划报告
- 科学实验室的创新人才培养模式
- 直播金融服务的未来展望
- 科技企业创新岗位的职责与要求
- 中乐器制作与声音艺术市场分析考核试卷
- 办公室经理助理实习生工作合同及实习成果转化协议2025
- 印刷包装居间合同协议书
- 供应链韧性提升与风险防范-深度研究
- 基层医疗卫生服务能力提升考核试卷
- 化工原理完整(天大版)课件
- 2025年江苏连云港市赣榆城市建设发展集团有限公司招聘笔试参考题库附带答案详解
- 砥砺前行决心谱写华章
- 2025年开学教导处发言稿(5篇)
- 机电设备安装旁站监理方案
- 2025年度民政局离婚协议书范本模板官方修订2篇
- 《百达翡丽名表介绍》课件
- 《集装箱标识辨识》课件
- 2024年临床输血管理委员会年终的工作总结
评论
0/150
提交评论