还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内错选、多选或未选均无分.一个函数功能不太困难,但要求被频繁调用,选用(.C++的继承性允许派生类继承基类的(.建立包含有类对象成员的派生类对象时,自动调用构造函数的执行依次依次为(A.自己所属类、对象成员所属类、基类的构造函数B.对象成员所属类、基类、自己所属类的构造函数C.基类、对象成员所属类、自己所属类的构造函数D.基类、自己所属类、对象成员所属类的构造函数.类的析构函数是对一个对象进行以下哪种操作时自动调用的?(.全部在函数中定义的变量,连同形式参数,都属于(.假定AB为一个类,则执行ABx;语句时将自动调用该类的(B.无参构造函数D.赋值构造函数.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员dt_a.PrintDate_Time;dt_b.SetTime235959;dt_b.PrintDate_Time;dt_a.SetDate20021231;dt_a.PrintDate_Time;a的格式为A.x.aB.x.aC.x-aD.x-a
10.对于任一个类,用户所能定义的构造函数的个数至多为A.OB.1C.2D.随意个
二、填空题本大题共10小题,每小题2分,共20分请在每小题的空格中填上正确答案错填、不填均无分.对象的四大基本特性是多态性、继承性、和封装性.为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为.C++程序的源文件扩展名为o.全部模版都是以关键字和一个形参表开头的.在的宽111€1©吩咐中所包含的头文件,可以是系统定义的头文件,也可以是定义的头文件.一个const对象只能访问成员函数.C++是通过引用运算符来定义一个引用的.若y是x的引用,则对y的操作就是对的操作.执行操作将释放由p所指向的动态安排的数据空间.C++的流库预定义了4个流,它们是cin、cout、和clog
三、改错题本大题共2小题,每小题6分,共12分.假定下面程序将分数a和b相加,其和赋值给c并输出,要求输出结果为“13/18,其主函数5到8行之间存在着三行语句错误,请指出错误行的行号并改正#includeiostream.hclassFranction{〃定义分数类intnume;〃定义分子intdeno;〃定义分母public:〃把*this化简为最简分数,详细定义在另外文件中实现voidFranSimpO;〃返回两个分数*this和x之和,详细定义在另外文件中实现FranctionFranAddconstFranctionx;//置分数的分子和分母分别和1voidInitFranction{nume=0;deno=1;}〃置分数的分子和分母分别n和dvoidInitFranctionintnintd{nume=n;deno=d;}〃输出一个分数voidFranOutput{cout«nume«z/«deno«endl;};voidmain//I彳亍{//2行Franctionabc;//3行a.InitFranction7l8;//4行b.InitFranctionl;//5彳亍c.InitFranction;//6行c=FranAddab;//7行cout«c.nume«/«c.deno«endl;〃8行}//9行错误行的行号为、和0分别改正为、和O
22.下面是一个类的定义,在5到12行之间有3行存在语法错误,请指出错误行的行号并改正classCE{//I行private://2行1intab;//3行intgetmin{returnaba:b;}//4行public//5行intc;//6行voidSetValueintxlintx2intx3{//7行a=xl;b=x2;c=x3;//8行;〃9行intGetMin;〃10行;〃11行intGetMin{〃12行intd=getmin;//13行returndcd:c;//14行//15行错误行的行号为、和o分别改正为、和o
四、程序填空题(本大题共3小题,每小题6分,共18分)请按提示要求完成以下程序段的填空classA{intab;public:—⑴—〃定义构造函数,使参数aa和bb的默认值为0〃在函数体中用aa初始化a用bb初始化b);main(){A*pl*p2;—⑵—;〃调用无参构造函数生成由pl指向的动态对象⑶;〃调用带参构造函数生成由p2指向的动态对象〃使a和b成员分别被初始化为4和5⑴
224.一种类定义如下#includeiostream.h#includestring.hclassBooksprivate:charbk_name
[20];intprice;staticinttotalprice;public:Bookschar*strintp{strcpybk_namestr;〃书的名称〃书的价格〃同类书总价格〃构造函数//strcpy函数将str字符串的内容拷贝到bknameprice=p;totalprice4-=price;〜Books{totalprice-二price;}char*GetN{⑷;}〃返回书名称intGetP{returnprice;}5GetTotal_Price{〃定义静态成员函数6;〃返回总价格;
56.已知一个类的定义如下#includeiostream.hclassAA{inta
[10];intn;public:voidSetAintaa[]intnn;//用数组aa初始化数据成员a〃用nn初始化数据成员nintMaxA;〃从数组a中前n个元素中查找最大值voidSortA;〃采纳选择排序的方法对数组a中前n个元素〃进行从小到大排序voidInsertA;//采纳插入排序的方法对数组a中前n个元素进行从小到大排序voidPrintA;//依次输出数组a中的前n个元素;voidAA::SortAintij;fori=0;7;i++{intx=a[i]k=i;forj=i+l;jn;j++ifax{x=a[j];k二8;a[k]=a[i];aLi]=9;89
五、程序分析题本大题共6小题,每小题5分,共30分阅读以下程序,写出其运行结果#includeiostream.hconstintN=6;voidfun;voidmainforinti=l;i〈N;i++fun;voidfunstaticinta=2;cout«a+=3«;#includeiostream.h#includeiomanip.hclassfun{friendostreamoperator«ostreamfun;}ff;ostreamoperator«ostreamosfunf{os.setfios::left;returnos;voidmaincout«setfill*«setw10«12345«endl;cout«ff«setw10«54321«endl;#includeiostream.hclassapublic:virtualvoidfunc{cout«funcinclassa«endl;};classbpublic:virtualvoidfunc{cout«Hfuncinclassb«endl;};classc:publicapublicbpublic:voidfunc{cout«Hfuncinclasscu«endl;};voidmaincc;apa=c;bpb=c;pa.func;pb.func;
29.#includeiostream.hclasstesta{public:testa{al=O;}testainti{al=i;}voidprintout{cout«a1;}private:intal;;classtestb:publictesta{public:testb{bl=O;};testbintiintjintk;voidprintout;private:intbl;testaaa;};testb::testbintiintjintk:testaiaaj{b1=k;}voidtestb::printout{testa::printout;cout«endl;voidmain{testbtt
[2];tt
[0]=testb935;ttEl]=testb84J;forinti=0;i2;i++tt[i].printout;
30.#includeiostream.hforinti=-l;i4;i++cout«iO:*;
31.#includeiostream.hclassDateintYearMonthDay;public:voidSetDateintyintmintd{Yearly;Month=m;Day=d;}voidPrintDate{cout«Year«7«Month«7«Day«endl;}Date{SetDate2000ll;}Dateintyintmintd{SetDateymd;}};classTimeintHoureMinutesSeconds;public:voidSetTimeinthintmints{Houre=h;Minutes=m;Seconds=s;}voidPrintTime{cout«Houre«:n«Minutes«:«Seconds«endl;}Time{SetTime000;}Timeinthintmints{SetTimehms;};classDate_Time:publicDatepublicTimepublic:Date_Time:DateTime{};Date_Timeintyintmointdinthintmiints:DateymodTimehmis{}voidPrintDate_Time{PrintDate;PrintTime;};voidmainDate_Timedt_adt_b2002101600;。