面向对象程序设计试题样例_第1页
面向对象程序设计试题样例_第2页
面向对象程序设计试题样例_第3页
面向对象程序设计试题样例_第4页
面向对象程序设计试题样例_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。一、单项选择题(本大题共10小题)1.关于面向对象的程序设计必须具备的关键要素,以下说法最正确的是()A.抽象和封装B.抽象和多态性C.抽象、封装和继承性D.抽象、封装、继承和多态性2.在下列成正确表示式中,运算符”+”的意义不相同的一对是()A.5.0+2.0和5.0+2B.5.0+2.0和5+2.0C.5.0+2.0和5+2D.5+2.0和5.0+2二、填空题(本大题共10小题)3.在已经定义了整型指针ip后,为了得到一个包括10个整数的动态数组并由ip指向这个数组,应使用语句_______________。ip=newint[10];4.在函数头与函数体之间加_____________关键字能够防止覆盖函数改变数据成员的值。三、改错题(本大题共5小题)5.用横线标出下面main函数中的错误,说明错误原因并改正。#include<iostream>usingnamespacestd;classBase0{ //定义基类Base0public: intvar0; voidfun0(){cout<<"MemberofBase0"<<endl;}};classBase1:publicBase0{ //定义派生类Base1public: //新增外部接口 intvar1;};classBase2:publicBase0{ //定义派生类Base2public: //新增外部接口 intvar2;};classDerived:publicBase1,publicBase2{ //定义派生类Derivedpublic: //新增外部接口 intvar; voidfun(){cout<<"MemberofDerived"<<endl;}};intmain(){ //程序主函数 Derivedd; //定义Derived类对象d d.var0=1; d.fun0(); return0;}6.下面的程序类B的定义中有一处错误,请用下横线标出错误并说明错误原因。#include<iostream>#include<string>classA{public:A(constchar*nm){strcpy(name,nm);}private:charname[80];};classB:publicA{public:B(constchar*nm):A(nm){}voidPrintName()const;};voidB::PrintName()const{cout<<”name:”<<name<<endl;}四、完成程序题(本大题共5小题)。7.完成下面类中的成员函数的定义。classPoint{ //Point类的定义public: //外部接口 Point(intxx=0,intyy=0){ //构造函数 x=xx; _______________; } Point(Point&p); //拷贝构造函数private: //私有数据 intx,y;};//成员函数的实现Point::Point(Point&p){ x=p.x;_______________ cout<<"Callingthecopyconstructor"<<endl;}8.根据注释在空白处填写适当内容。classLocation{private:intX,Y;public:voidinit(intinitX,intinitY);intGetX();intGetY();};voidLocation::init(intinitX,intinitY){X=initX;Y=initY;}intLocation::GetX(){reutrnX;}intLocation::GetY(){reutrnY;}#include<iostream>voidmain(){LocationA1;A1.init(20,90);①____________________//定义一个指向A1的引用rA1②____________________//用rA1在屏幕上输出对象A1的数据成员X和Y的值}五、程序分析题(本大题共5小题)9.写出下面程序的输出结果:#include<iostream>usingnamespacestd;classFunArray{int*pa;//指向一个数组空间intsize;//数组元素个数public:FunArray(inta[],intthesize):pa(a),size(thesize){}intSize(){returnsize;}int&operator[](intindex){returnpa[index-1];}};voidmain(){ints[]={3,7,2,1,5,4};FunArrayma(s,sizeof(s)/sizeof(int));ma[3]=9;for(inti=1;i<=ma.Size();i++)cout<<ma[i]<<’,’;}10.写出下面程序的输出结果:#include<iostream>usingnamespacestd;template<classT>classTclass{Tx,y;public:Tclass(Ta,Tb):x(a){y=b;}Tclass(Ta){y=(T)0,x=a;}voidpr(){charc;c=(y>=(T)0?"+":"-");cout<<x<<c<<(y>(T)0?y:-y)<<"i"<<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论