- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
综合题一及答案一、单项选择题1.下列特性中,C 与C++共有的是( D )A.继承B.封装C.多态性D.函数定义不能嵌套2.通常情况下,函数模板中的类型参数个数不能是( A )A.0B.2C.4D.34.类的指针成员的初始化是通过函数完成的,这个函数通常是( B )A.析构函数B.构造函数C.其它成员函数D.友元函数5.要禁止修改指针p 本身,又要禁止修改p 所指向的数据,这样的指针应定义为( D )A.const char *p=“ABCD”; B.char const *p=“ABCD”;C.char *const p=“ABCD”;D.const char * const p=“ABCD”;6.静态成员函数没有( B )A.返回值B.this 指针C.指针参数D.返回类型7.当一个类的某个函数被说明为virtual 时,该函数在该类的所有派生类中( A )A.都是虚函数B.只有被重新说明时才是虚函数C.只有被重新说明为virtual 时才是虚函数D.都不是虚函数8.下面叙述不正确的是( D )A.派生类一般都用公有派生B.对基类成员的访问必须是无二义性的C.赋值兼容规则也适用于多重继承的组合D.基类的公有成员在派生类中仍然是公有的9.在C++中实现封装是借助于( B )A.枚举B.类C.数组D.函数二、填空题11.设函数max 是由函数模板实现的,并且max(3.5,5)和max(10,5)都是正确的函数调用,则该模板具有(2)个类型参数。12.在单继承和多继承方式中,面向对象的程序设计应尽量使用(单一)继承。13.语句序列ifstream datafile;datafile.open(“data.dat”);的功能可用一个语句实现,这个语句是(ifstream datafile(“data.dat”))。14.将关键字const 写在函数头之后,函数体之前,说明该函数是一个const 成员函数。此时const不是指定函数的返回值,而是修饰(this)指针。15.一个抽象类的派生类可以实例化的必要条件是实现了所有的(纯虚函数)。16.在C++中,虚函数帮助实现了类的(多态)性。17.通过C++语言中类的(继承机制),可以扩充和完善已有类以适应新的需求。18.为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义(析构函数)。20.在已经定义了整型指针ip 后,为了得到一个包括10 个整数的数组并由ip 所指向,应使用语句(ip = new int[10];)。四、完成程序题26.在下面程序横线处填上适当内容,以使该程序执行结果为:1288# includeiostream.htemplateclass Tclass Tany{public:T x,y ;void pr(){if(sizeof(int)==②sizeof x(或 sizeof(x) 或 sizeof(y) 或sizeof(T)) )count(xy? x:y)endl;elsecout(xy? y:x)endl;}};void main( ){Tanydoubledobj={12.0,88.0};dobj.pr( );Tanyint iobj={12,88};iobj.pr( );}27.在下面的横线处填上适当内容,使程序完整。# includeiostream.h# includemath.hclass loc{private:float x,y;public;loc(①float x1,float y1){x=x1;y=y1;}float getx( ){return x;}float gety( ){return y;}② staticfloat dis(loc,loc);};float loc::dis(loca,locb){flost dx=a.x-b.x;flost dy=a.y-b.y;return sqrt(dx*dx+dy*dy);}void main( ){loc pl(3.5,4.5),p2(5.5,6.5);float d=loc::dis(p1,p2);cout“The distance is”d;}28.在下面程序中的横线处填上适当内容,使程序完整。# includeiostream.hclass vehicle{protected:int size;int speed;public;void setSpeed(int s){speed=s;}virtual intgetSpeedLevel( ){return speed/10;}};class car:public vehicle{public:int getSpeedLeve( ){return speed/5;}};class truck:publi
文档评论(0)