资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
1简答题请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl。程序中位于每个“ERROR*found*之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:value=63number=1注意:只修改每个“/ERROR*found*”下的那一行,不要改动程序中的其他内容。lineLuciaillIrin理ttdllC14BB|皿*pjeodiJiEintNjpublict/ERftCSfgndlintV41I:N*1p*nnintj;pvaU1NEM&fifound*WyClass4)i-p;IfrlendrdprintINyClansi曲3】丁IHEPJ比R-*fmmdvoid4991:printcwt*vilw*p)juwknuntair*ab).NndljIIntMin()4HjCUmotoj(C!hprint(ob)jreturnQ/参考解析:【参考答案】(l)MyClass(intval)(2)MyClass()delete口p;(3)voidprint(MyClass&obj)【考点分析】本题考查MyClass类,其中涉及动态数组、构造函数、析构函数和友元函数。构造函数的成员列表初始化格式为:私有成员(参数),不能用赋值语句。析构函数使用delete语句,delete语句的语法是:delete口指针。【解题思路】(1)主要考查考生对构造函数的掌握,在这里不能使用赋值语句。(2)主要考查考生对析构函数的掌握,析构函数的delete语句要使用标识符“”,即delete口p;(3)主要考查考生对友元函数的掌握,友元函数并不属于类,因此定义时前面不用加类名和作用域符号。【解题宝典】友元函数考查较少,但也是很关键的,友元函数并不属于类,只是可以使用类的私有成员而已,因此定义的时候就当作普通函数处理即可。2简答题请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,其中定义了CharShape类、Triangle类和Rectangle类。CharShape是一个抽象基类,它表示由字符组成的图形(简称字符图形),纯虚函数Show用于显示不同字符图形的相同操作接口。Triangle和Rectangle是CharShape的派生类,它们分别用于表示字符三角形和字符矩形,并且都定义了成员函数Show,用于实现各自的显示操作。程序的正确输出结果应为:*#请阅读程序,分析输出结果,然后根据以下要求在横线处填写适当的代码并删除横线。(1)将Triangle类的成员函数Show补充完整,使字符三角形的显示符合输出结果。(2)将Rectangle类的成员函数Show补充完整,使字符矩形的显示符合输出结果。为类外函数fun添加合适的形参。*注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/found*1 /proJi,cpp2 (include3 usingnaoneapaccstd;EaS嚣CharShapef5 publics6 QiarShape(ch&rch):_chIch)I;virtualvoidShow()-0;Hprotected:9 charch;/维栽凿不妁牛籽10 H一11 classTriangls:publicCharShape12 public:QTrianglecharch.intr):ChaxShdpe(ch)rows)(MvoidShow1)13 private:14 tntrows;/竹nHclassRectangle:publicChar-Shape(public:Rectangle(charch.intr.intc):CharShape(ch)9_rowsr)tjcols(c)()voidShow();private:introws._cols;/Hit*孙敕voidTriangle:Show()/出手存短版的三角彩(for(int1-1;i-_rows;i(/foundfor(intj-1;j;jl)cout_ch;coutendl;)voidRectangle:Show()/*出字行娘内的矩彩(/foundfor(inti-1;i;1”)(/foundfor(intj1;j-cout_ch;coutendl;/found为fun的数添加形参voidfun()(cs.Show0;1intmain()Triangletri4);32由弋苴为守工毒roctf*1F;33luniitri91S4fufti|rectj55rwtuxaOj参考解析:【参考答案】(1)i*2-1(2)rows(3)cols(4)CharShape&CS【考点分析】本题主要考查抽象类CharShape类及其派生类Triangle和Rectangle,其中涉及构造函数、纯虚函数、成员函数和函数调用。着重考查函数Show()在Triangle类与在Rectangle类中的定义,填空前应先理解Show()函数在该类中的功能。【解题思路】(1)考查for循环语句,该语句所在的函数的功能是输出字符组成的三角形。从外层循环中可以看出下标i代表行数,那么下标j就代表每一行字符的个数,因为要输出的是三角形所以每一行的个数与该行的行数相关,即j=i*2-1;。(2)考查for循环语句,该语句所在的函数的功能是输出字符组成的矩形。回到Rectangle类中可以知道矩形的长和宽就是类中私有成员的行数和列数,因此在这里只要要求下标i不大于行数即可。(3)考查for循环语句,该语句所在的函数的功能是输出字符组成的矩形。回到Rectangle类中可以知道矩形的长和宽就是类中私有成员的行数和列数,因此在这里只要要求下标j不大于列数即可。(4)主要考查考生对虚函数的掌握,该语句所在的函数是普通函数fun,题目要求为fun函数添加形参。从函数体中可以知道形参名为cs,那么形参的类型是什么呢?就是抽象类CharShape,因此要使用CharShape&cs才可以实现题目要求输出的内容。【解题宝典】本题主要考查考生对for循环语句的掌握及虚函数的使用,for循环是最常考到的知识点,要结合好上下文白语义来填写,首先要清楚该语句所在函数要实现的功能,其次要知道该语句的作用。3简答题请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:zhang20Tsinghua。注意:只能在函数address_change的“*333*”和*666*”之间填入若干语句,不要改动程序中的其他内容。程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。/proj3btincludeincludeusingnamespaceclassPersonIcharnacnef2Q:;intage;charaddress;public;Peraon)1age=0;address=0;voidname_changechar*naine);voidage_change(int_ge);4好存或描敝voidaddre33_change(char*占tldl;“地址净及晶Itvoidnj“人Utt嘉堡市拓.17Peraonpl;pt.nTTie_change*ZhangH);pl.武gjha力gw(20);pl.addr3change(Tsxng*hudUniVTflityHi;pl*address_change(Taing-fa_displdyI”wrineToFiletif(array1NULLJdeletelength一arc.length;a:ray-newintlength;【考点分析】主要考查的是Person类,其中涉及动态数组、析构函数、构造函数和成员函数【解题思路】函数address_change(char*_add)的功能是地址修改,也就是说通过该函数把类的地址修改为add字符串。类的私有成员address是字符指针,因此首先要给address分配空间,通过new语句来实现:address=newcharstrlen(_add)+1;。接下来就是要复制字符串,使用系统函数strcpy,其用法为strcpy(参数1,参数2),将参数2的内容复制到参数l
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号