欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    多态性和虚函数复习资料.docx

    • 资源ID:2247273       资源大小:32.17KB        全文页数:15页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    多态性和虚函数复习资料.docx

    1、多态性和虚函数复习资料C+讲义-第十章习题一 名词解释多态性;函数重载;运算符重载;静态联编;动态联编;虚函数;纯虚函数;抽象类。二 选择题1对定义重载函数的下列要求中,错误的是( )。A要求参数的个数不同。B要求参数中至少有一个类型不同。C要求参数个数相同时,参数类型不同。D要求函数的返回值不同。2在下列函数中,不能重载的是( )。A成员函数 B非成员函数C析构函数 D构造函数3下列对重载函数的描述中,错误的是( )。A重载函数中不允许使用缺省参数B重载函数中编译系统根据参数表进行选择C不要使用重载函数来描述毫无相干的函数D构造函数重载将会给初始化带来多种方式4下列运算符是,不能重载的是(

    2、)A& B C: Dnew5下列关于运算符重载的描述中,正确的是( )。A运算符重载可以改变操作数的个数B运算符重载可以改变操作符的优先级C运算符重载可以改变操作符的结合性D运算符重载不能改变操作符的语法结构6下列运算符中,不能重载的是( )。A?: B+ C- D=7在C+中,通常将重载运算符的成员函数称为( )。A运算符函数 B重载函数C函数重载运算符 D以上都不对8系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( )。A参数个数 B参数类型 C函数名称 D函数的类型9关于动态联编的下列描述中,错误的是( )。A动态联编是以虚函数为基础的B动态

    3、联编是在运行时确定所调用的函数代码C动态联编调用函数的标识要求是指向对象的指针或对象的引用D动态联编是在编译时确定操作函数的10关于虚函数的描述中,正确的是( )。A虚函数是一个static类型的成员函数B虚函数是一个非成员函数C基类中说明了虚函数,派生类中将其对应的函数可不必说明为虚函数D派生类的虚函数与基类的虚函数具有不同的参数个数和类型11关于纯虚函数和抽象类的描述中,错误的是( )。A纯虚函数是一种特殊的虚函数,它没有具体实现B抽象类是指具有纯虚函数的类C一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类D抽象类只能作为基类使用,其纯虚函数的实现只能由派生类给出12下列描述中,属

    4、于抽象类特性的是( )。A可以说明虚函数 B可以进行构造函数重载C可以定义友元函数 D不能说明其对象13如果一个类至少有一个纯虚函数,那么就称为该为( )A抽象类 B虚基类 C派生类 D以上都不对14如果一成员函数在其所在的基类中被说明为虚函数,它在该基类中没有定义,但要求在派生类中定义自己的版本,则该成员函数是( )A虚析构函数 B虚构造函数 C纯虚函数 D静态成员函数三判断下列描述的正确性。1函数的参数个数和类型都相同,但只是返回值不同,这不是重载函数。2重载函数可以带有缺省值参数,但要注意调用时所产生的二义性。3多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。4对

    5、类对象每个重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。5对单目运算符重载为友元函数时,说明一个参数;重载为成员函数时,不能显式说明参数。6重载运算符保持原运算符的优先级和结合性不变。7虚函数是用virtual关键字说明的成员函数。8抽象类是指一些没有说明对象的类。9构造函数说明为纯虚函数是没有意义的。10动态联编是在运行时选定所调用的成员函数的。四分析下列程序的运行结果1程序清单如下:#includeclass Bpublic: B(int i) b=i+50; show(); B() virtual void show() coutB:show()

    6、 called.bendl; protected: int b;class D:public Bpublic: D(int i):B(i) d=i+100; show(); D() void show() coutD:show() called.dendl; protected: int d;void main() D d1(108);2程序清单如下:#includeclass Bpublic: B(int i) b=i; B() virtual void virfun() coutB:virfun() called.n; private: int b;class D:public Bpubl

    7、ic: D(int i,int j):B(i) d=j; D() private: int d; void virfun() coutvirfun();void main() D *pd=new D; fun(pd);3程序清单如下:#includeclass Apublic: A() ver=A; void print() coutThe A version:verendl; protected: char ver;class D1:public Apublic: D1( int number ) info=number; ver=1; void print() coutThe D1 inf

    8、o:info version:verendl; private: int info;class D2:public Apublic: D2(int number) info=number; void print() coutThe D2 info:info version:verendl; private: int info;class D3:public D1public: D3(int number):D1(number) info=number; ver=3; void print() coutThe D3 info:info version:verprint();void main()

    9、 A a1; D1 d1(4); D2 d2(100); D3 d3(-25); print_info(&a1); print_info(&d1); print_info(&d2); print_info(&d3);4程序清单如下:#includeclass Apublic: A() ver=A; virtual void print() coutThe A version:verendl; protected: char ver;class D1:public Apublic: D1( int number ) info=number; ver=1; void print() coutThe

    10、 D1 info:info version:verendl; private: int info;class D2:public Apublic: D2(int number) info=number; void print() coutThe D2 info:info version:verendl; private: int info;class D3:public D1public: D3(int number):D1(number) info=number; ver=3; void print() coutThe D3 info:info version:verprint();void

    11、 main() A a1; D1 d1(4); D2 d2(100); D3 d3(-25); print_info(&a1); print_info(&d1); print_info(&d2); print_info(&d3);5程序清单如下:#includeclass Matrixpublic: Matrix(int r,int c) row=r; col=c; elem=new doublerow*col; double& operator() (int x,int y) return elemcol*(x-1)+y-1; double& operator() (int x,int y)

    12、 const return elemcol*(x-1)+y-1; Matrix() delete elem; private: double *elem; int row,col;void main() Matrix m(5,8); for(int i=0;i5;i+) m(i,1)=i+5; for(i=0;i5;i+) coutm(i,1),; coutendl;6程序清单如下:#includeclass Point int x,y;public: Point(int vx=0,int vy=0) x=vx; y=vy; Point operator+(Point p1) return P

    13、oint(x+p1.x,y+p1.y); Point operator-(Point p1) return Point(x-p1.x,y-p1.y); void print() coutx,yendl; ;void main() Point p1(10,10),p2(20,20); p1=p1+p2; p1.print();7程序清单如下:#includeint dys=31,28,31,30,31,30,31,31,30,31,30,31;class date int mo,da,yr;public: date(int m=0,int d=0,int y=0) mo=m; da=d; yr=

    14、y; void disp() coutmo/da/yrdysdt.mo-1) day-=dysdt.mo-1; if(+dt.mo=13) dt.mo=1; dt.yr+; dt.da=day; return dt; ;void main() date d1(2,10,2001),d2; d2=d1+20; d2.disp();8程序清单如下:#includeclass Point int x,y;public: Point() Point(int k,int m) x=k; y=m; void disp() cout面积为:x*yendl; Point operator,(Point r)

    15、return Point(r.x,r.y); Point operator+(Point r) return Point(x+r.x,y+r.y); ;void main() Point r1(3,3),r2(5,8),r3(2,4); r1.disp(); r2.disp(); r3.disp(); r1=(r1,r2+r3,r3); r1.disp(); 五填空题1多态性是面向对象程序设计的重要特征之一,只有对多态性的支持,才能够称为面向对象的语言。在C+中,多态性的实现技术主要有: 、 和 。2在类中,构造函数可以重载,通常的成员函数也可以重载,但 不允许重载。3当双目运算符重载为类的成

    16、员函数时,由于成员函数含有 ,因此运算符函数只能有一个参数,而当其被重载为类的友元函数时,必须有 个参数。4设obj1,obj2是某类对象,当运算符被重载为该类的成员函数时,则obj1obj2被解释为 。5虚函数是动态联编的基础,要求虚函数必须是 。对虚函数的调用,采取动态联编,其调用虚函数的标识必须用 、 或 ,否则其它标识方法对虚函数的调用,仍然采取的是静态联编。6抽象类只能作为 来使用,其纯虚函数的实现由派生类给出。如果派生类中没有重新定义纯的虚函数,而派生类只是继承基类的纯虚函数,则这个派生类仍然是 。六编程题1基于抽象类的技术,编写计算正方体、球体和圆柱体的表面积和体积的程序。2设计评选优秀教师和学生的程序,其类结构如图所示。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。3定义一个矩阵类,重载运算符+与*,以完成两矩阵的相加与相乘运算。


    注意事项

    本文(多态性和虚函数复习资料.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开