上海大学C++2014-2015秋A---答案--t

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

试卷第1页(共5页)注:教师应使用计算机处理试题的文字、公式、图表等;学生应使用水笔或圆珠笔答题。2014~2015学年一.选择(16分,每题2分)1.[]以下面向对象程序设计(OOP)的基本概念不正确的是A.计算机并不仅仅是一台机器,它更像我们大脑的一部分。B.面向对象程序设计语言的目的是为了解决现实世界的模拟问题(如变电站系统).C.对象类型的设计是面向对象程序设计的中心任务。D.继承表示了基本类型和派生类型之间的相似性,一个基类具有所有由它派生出来的类型所共有的特性和行为。E.当处理类型层次结构时,程序员常常希望不把对象看作是某一特殊类型,而把它看作基本类型,应用OOP的多态性,编写不依赖于特殊类型的代码。F.C++语言中类实际上就是对象。2.[]要访问名空间IEC中的标识符LPHD,C++的方法是A.IEC::LPHDB.IEC.LPHDC.IEC:LPHDC.usingnamespacestd;LPHD3.[]动态分配n个float元素的内存空间,C++编程方法是:A.float*p=newfloat[sizeof(float)]*n;B.floata[]=newfloat[n];C.float*p=newfloat[n];D.floata[n];4.[]GetData函数功能是Get它动态创建的包含有数据的基地址,及数据个数,好的设计方案及客户对它的正确调用是:A.intGetData(int*pp);int*pd;intn=GetData(pd);B.int*GetData(intn);intn=3;int*pd=GetData(n);C.intGetData(intpp);int*pd;intn=GetData(pd);D.intGetData(int**pp);int*pd;intn=GetData(&pd);5.[]已有定义classK{private:K();};修改错误:A.去掉private:B.Kk1;改为Kk1();C.private改为publicD.};改为}6.[](多选)设计一个影片管理系统,包括一般影片、外国片,影片剪接,现有一部外国影片Titanic(泰坦尼克号),如下的解决方案正确的有:A.Film作为基类,ForeignFilm和DirectorCut作为Film的派生类。B.Titanic作为Film的的成员变量。C.Titanic是ForeignFilm的一个实例。D.Film作为类ForeignFilm和类DirectorCut的成员变量。E.数据输出Output函数采用虚成员函数,Film、ForeignFilm、DirectorCut都实现它。7.[]已有定义:classBC{public:intb;voidmfunc(){coutBC;}};classDC:publicBC{public:intd;voidmfunc(){BC::mfunc();coutDC;}};BCbc;DCdc;BC*pb=newDC;以下代码正确的是:A.bc.d=1;B.pb-d=1;C.DC*p=pb;p.d=1;D.DC*pdc=static_castDC*(pb);pdc-d=1;8.[]重载右移操作符,从流输入数据到复数类对象,设计方案选择:A.istream&operator(istream&istm,Complex&c);B.istream&operator(istreamistm,Complexc);C.istream&operator(istream&istm,Complexc);D.istreamoperator(istreamistm,constComplex&c);E.Complexoperator(istreamistm);intmain(){Kk1;return0;}序号试卷第2页(共5页)二.填空(26分,1,7题每题3分,其他每空1分)1.面向对象程序设计语言的主要特征是______________________________2.返回对象的引用,修改下面代码int&dl(intn){___________intj=2*n;returnj;}3.下面代码CA和CB类型的对象分别有___3.1____个数据成员,实现类的构造函数,初始化数据成员classCA{private:inta;public:CA(inta){_____3.2_______}};4.设计一个函数decode,功能是对字符串,用密钥解码,设计函数原型(接口)是:___4.1__________________________________________其中相关参数和返回的说明:________4.2__________________________5.异常处理代码填空intdiv(inta,intb){if(b==0)______5.1____“error:b==0”;returna/b;}6.C++标准模板库的名空间的名称是___________7.函数参数的设计其数据传递有三种方式,分别是传________________________8.实现下面的类classCPerson{protected:stringname;public:voidsetname(stringname){_____8.1___=name;}stringgetname(){returnname;}};classCStudent:________8.2____________{doublescore;public:_____8.3_____(){}//构造函数______8.4____________{this-name=name;}//构造函数______8.5______{}//析构函数staticintcompareScore(Student&stu1,Student&stu2){if(stu1.getscore()stu2.getscore())return-1;elseif(_____________8.6_____________)return1;elsereturn0;}doublegetscore(){returnscore;}voidsetscore(doublescore){this-score=score;}};改写getname成员函数为外联式实现___________8.7_____________________改写setscore成员函数为外联式实现_____8.8______________________________classCB:publicCA{intb;public:CB(inta,intb)________3.3______{_____3.4______}};intmain(){try{intu,v;cinuv;coutu/v=div(u,v);}_____5.2_______{couteendl;}return0;}试卷第3页(共5页)intmain(){vector____8.9_______students;for(inti=0;i10;i++){stringname;intscore;cinnamescore;CStudentstu(name);stu.setscore(score);students.push_back(stu);}assert(students.size()0);cout”与”students[0].getname()”分数相同的学生有:”endl;for(inti=1;istudents.size();i++){intcomp=______________________8.10__________________________;if(comp==0)//i学生如果与0学生分数相同{coutstudents[i].getname()endl;}}return0;}三.阅读程序(18分,每小题2分)1.写出输出结果:________classB{protected:virtualvoidf(){cout”B”endl;}public:voidg(){f();}};voidmain(){Dd;d.g();}2.下面代码的输出结果__________________classB{public:B(){coutB;}virtual~B(){cout~B;}};voidmain(){B*p=newZ;deletep;}3.下面的程序写入到data.txt文件中的内容___________3.1________________________屏幕显示的输出的内容_________________________3.2_____________________#includefstream#includesstreamusingnamespacestd;;intmain(){ostringstreamostm;stringname=wang;intage=20;ostm姓名name年龄ageendl;ofstreamofile(data.txt);ofileostm.str();//写入到文件ofile.close();ifstreamifile(data.txt);if(ifile){stringstr1,name,str2;intage;while(ifilestr1namestr2age){cout姓名name去年age今年age-2endl;}ifile.close();}return0;}classD:publicB{protected:virtualvoidf(){cout”D”endl;}};classZ:publicB{public:Z(){coutZ;}virtual~Z(){cout~Z;}};试卷第4页(共5页)4.下面代码的输出结果__________________classA{public:voidm(constchar*str){cout”A”strendl;}};classZ:publicA{public:voidm(){coutZendl;}};intmain(){Zz1;z1.m();z1.A::m(“a”);return0;}5.下面是设备监控系统采用事件驱动机制编写的一个简单示例程序,列出程序先后运行到断点位置(已用标号标记)的序号,或显示结果键盘输入数据前,程序依次运行到的断点序列号_________5.1____________从键盘输入MMXU1.PNV.phsA.cVal.mag.f=100.5A回车后的断点位置:__5.2___断点位置⑧然后程序依次运行到的断点序列号:5.3程序显示的输出结果:5.4#includestring#includeiostream#includevectorusingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){DevServiceClassdev;⑦DevClientClasscli;dev.hookReport(&cli);charstr[200];cin.getline(str,sizeof(str));//采集数据dev.update(str);⑧return0;}classIReportHandle{public:virtualvoidhandleReport(stringr)=0;①};classDevServiceClass{vectorIReportHandle*m_RCBs;stringm_r;voiddchgReport()//数据已变化,报告订阅者{for(autoit=m_RCBs.begin();it!=m_RCBs.end();it

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功