欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年面向对象程序设计复习题 .docx

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

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

    2022年面向对象程序设计复习题 .docx

    精品_精品资料_一、单项挑选题.1 引入内联函数的主要目的是A) 缩短程序代码,少占用内存空间 B既可以保证程序的可读性,又能提高程序的运行效率C提高程序的执行速度D使程序的结构比较清楚2 重载函数是A以函数参数来区分,而不用函数的返回值来区分不同的函数B以函数的返回值来区分,而不用函数参数来区分不同的函数C参数表完全相同而返回值类型不同的两个或多个同名函数 D参数表和返回值类型都必需是不同的两个或多个同名函数3 有函数原型 void fun2 int *,下面选项中,正确的调用是A) double x = 2.17. fun2 &x. C int a = 15. fun2 a*3.14.B) int b = 100. fun2 & b .D fun2 256.4 在 C+中, 要实现动态联编 , 必需使用 调用虚函数.A 类名B 派生类指针C 对象名D 基类指针5 在公有派生情形下,有关派生类对象和基类对象的关系,以下表达不正确选项A) 派生类的对象可以直接拜访基类中的全部成员B派生类的对象可以初始化基类的引用C) 派生类的对象可以赋给基类的对象D) 派生类的对象的的址可以赋给指向基类的指针6 设置虚基类的目的是A排除两义性B简化程序C提高运行效率D削减目标代码7 关于构造函数,以下说法错误选项可编辑资料 - - - 欢迎下载精品_精品资料_将对象A) 构造函数的作用是在对象被创建时使用特定的值构造对象,或者说初始化为一个特定的状态.在对象创建时由系统自动调用.B) 基类的构造函数可以被派生类所继承.C) 假如程序中未声明,就系统自动产生出一个缺省形式的构造函数.D) 答应为内联函数、重载函数、带缺省形参值的函数.可编辑资料 - - - 欢迎下载精品_精品资料_8 以下关于 C+函数的说明中,正确选项A) 内联函数就是定义在另一个函数体内部的函数B函数体的最终一条语句必需是 return 语句C) 标准 C+要求在调用一个函数之前,必需先声明其原型D) 编译器会依据函数的返回值类型和参数表来区分函数的不同重载形可编辑资料 - - - 欢迎下载精品_精品资料_式9 由于常对象不能被更新,因此A) 通过常对象只能调用它的常成员函数B通过常对象只能调用静态成员函数 C常对象的成员都是常成员D通过常对象可以调用任何不转变对象值的成员函数10 以下关于虚函数的说明中,正确选项A) 从虚基类继承的函数都是虚函数B虚函数不得是静态成员函数 C只能通过指针或引用调用虚函数D抽象类中的成员函数都是虚函数11 运算符重载是对已有的运算符给予多重含义,因此A) 可以对基本类型 如 int 类型的数据,重新定义 “ +运”算符的含义B) 可以转变一个已有运算符的优先级和操作数个数C) 只能重载 C+中已经有的运算符,不能定义新运算符DC+中已经有的全部运算符都可以重载12 模板对类型的参数化供应了很好的支持,因此A类模板的主要作用是生成抽象类B) 类模板实例化时,编译器将依据给出的模板实参生成一个类C在类模板中的数据成员都具有同样类型D类模板中的成员函数都没有返回值13 以下符号中可以用作 C+标识符的是A_radius Bfoobar Celse D3room 14 以下语句中,错误选项Aconst int buffer=256. Bconst int temp.Cconst double *point. Dconst double *rt =new double5.5.15 有如下程序:int x=3.dox -= 2.cout<<x.while.-x .执行这个程序的输出结果是A) 1 B 3 0 C l-2 D 死循环16 有如下程序:#include <iostream> using namespace st.d int mainint *p .*p = 9.可编辑资料 - - - 欢迎下载精品_精品资料_cout<<"The value at p:"<<*p.return 0.编译运行程序将显现的情形是A够编译时显现语法错误,不能生成可执行文件B运行时肯定输出: The value at p: 9C运行时肯定输出: The value at p: *9 D运行时有可能出错17 有如下程序: #include <iostream> using namespace st.d int mainvoid functiondouble val .double val.functionval.cout<<val.return 0.void functiondouble valval = 3.编译运行这个程序将显现的情形是A) 编译出错,无法运行 B输出: 3C输出: 3.0 D输出一个不确定的数18 有如下类定义:class AAint a.public:int getRef constreturn &a. / int getValue constreturn a. / void setint n consta=n. / friend void showAA aa const cout<<aa. / .其中的四个函数定义中正确选项A B CD 19 有如下程序:可编辑资料 - - - 欢迎下载精品_精品资料_#include <iostream> using namespace st.d class Basepublic:void funcout<<"Base:fun"<<endl . .class Derived:public Basepublic:void funcout<<"Derived:fun"<<endl . .int mainDerived d. .d.fun.return 0.已知其执行后的输出结果为:Base:fun Derived:fun就程序中下划线处应填入的语句是ABase.fun. BBase:fun CBase->fun Dfun .20 下面是重载为非成员函数的运算符函数原型,其中错误选项A) Fraction operator + Fraction, Fraction.B) Fraction operator - Fraction.CFraction& operator = Fraction&, Fraction.DFraction& operator += Fraction&, Fraction.21 有如下类定义:class Foopublic:Fooint v:valuev / Foo / 可编辑资料 - - - 欢迎下载精品_精品资料_private:Foo / int value = 0. /.其中存在语法错误的行是A B C D 22 有如下类定义:class Pointint x_, y_.public:Point:x_0, y_0Pointint x, int y = 0:x_x,y_y.如执行语句 Point a2, b3, *c4 .就 Point 类的构造函数被调用的次数是A2 次 B3 次 C4 次 D5 次23 有如下程序:#include <iostream> using namespace st.d class Apublic:Acout<<"A" .Acout<<"A" .class B:public AA* p .public:Bcout<<"B" . p = new A.Bcout<<"B" . delete p.int mainB obj.return 0.可编辑资料 - - - 欢迎下载精品_精品资料_执行这个程序的输出结果是ABAAABABABABAA CBAABAA DABAABA24 有如下程序:#include <iostream> using namespace st.d class Baseprivate:void funl constcout<<"funl" . protected:void fun2 constcout<<"fun2" . public:void fun3 constcout<<"fun3" .class Derived:protected Basepublic:void fun4 constcout<<"fun4" .int mainDerived obj.obj.funl . / obj.fun2 . / obj.fun3 . / obj.fun4 . /return 0.其中有语法错误的语句是A B C D 25 有如下程序:#include <iostream> using namespace st.d class Basepublic:void funlcout<<"Base "<<endl .可编辑资料 - - - 欢迎下载精品_精品资料_virtual void fun2cout<<"Base"<<endl . .class Derived:public Basepublic:void funlcout<<"Derived"<<endl . void fun2cout<<"Derived"<<endl . .void fBase &bb.funl .b.fun2. int mainDerived obj.fobj. return 0.执行这个程序的输出结果是A) Base BBase CDerived DDerived Base Derived Base Derived26 有如下类声明:class SAMPLEint n.public:SAMPLE int i = 0: nivoid setValueint n0. .以下关于 setValue成员函数的实现中,正确选项ASAMPLE:setValueint n0n = n0 . Bvoid SAMPLE:setValueint n0n = n0 .C) void setValueint n0n = n0.D) setValueint n0n = n0. 27以下函数模板的定义中,合法的是().A. template <typename T> T absT xreturn x<0.-x:x.B. template class <T> T absT xreturn x<0.-x:x.C. template T <typename T> absT xreturn x<0.-x:x.D. template T absT xreturn x<0.-x:x. 28以下程序的运行结果为().# include <iostream >可编辑资料 - - - 欢迎下载精品_精品资料_class BASE public:BASEint icout<<"调用基类 BASE的构造函数: "<<i<<endl . .class A :public BASEpublic:A int a,int b:BASEa,b1bcout <<"调用派生类 A 的构造函数: "<<a+b<<endl. private:BASE b1.void mainA obj1,2.A 调用基类 BASE 的构造函数: 2B调用基类BASE 的构造函数: 1调用基类 BASE 的构造函数:1调用 基类BASE 的构 造函数: 2调用派生类 A 的构造函数: 3调用派生类A 的构造函数: 3C 调用基类 BASE 的构造函数:2D调用基类BASE的构造函数: 1调用派生类 A 的构造函数: 数: 33调用 基类BASE的构 造函29. 以下程序的运行结果为().# include<iostream.h> class T public:T int x a=x. b+=x . .static void display T ccout<< ”a=”<<c.a<< t <<”b=”<<c.b<<end l . private:int a.static int b.int T:b=5.void main T A3,B5.可编辑资料 - - - 欢迎下载精品_精品资料_T:displayA.T:displayB.A a=3 b=8B a=3b=5a=5 b=10a=5 b=5Ca=3 b=13a=5 b=13D a=3b=8a=5b=1330. 下面程序中对一维坐标点类Point进行运算符重载#include<iostream> using namespace std.class pointpublic:point(int vaI) x=val.point operator+() x+ .retum*this.point operator+( int ) point old=*this,+( *this). retum old .int GetX () const retum x. private:int x. .int main()point a(10).cout<< ( +a) .GetX().cout<<a+.GetX ().retum ().编译和运行情形是A)运行时输出 1011B)运行时输出 1111C)运行时输出 1112D)编译有错二、填空题.1 程序中有如下语句forint i = 0 . i<5. i+cout<<*p + i<<"," .能够依次输出 int 型一维数组 DATA 的前 5 个元素.由此可知,变量 p 的定义及初始化语句是.2 如下面程序运行时输出结果为1, A, 10.12, B, 3.5请将程序补充完整.,可编辑资料 - - - 欢迎下载精品_精品资料_#includeusing namespace st.d int mainvoid testint, char,double. test1,'A',10.1.test2,'B'.return 0.void testint a, char b, double ccout<<a<<","<<b<<","<<c<<endl .3 有如下类声明: class MyClassint i.private: int j.protected:int k.public:int m, n. .其中,私有成员的数量为.4 有如下程序: #includeusing namespace st.d class ONEpublic:virtual void fcout<<"l".class TWO:public ONEpublic:TWOcout<<"2" .class THREE:public TWOpublic:virtual void fTWO:f. cout<<"3" .int main可编辑资料 - - - 欢迎下载精品_精品资料_ONE aa, *p.TWO bb.THREE cc.p = &cc.p->f .return 0.执行上面程序的输出是.5 有如下程序: #includeusing namespace st.d class PARENTpublic:PARENTcout<<"PARENT" .class SON:public PARENTpublic:SONcout<<"SON" .int mainSON son.PARENT *p .p = &son.return 0.执行上面程序的输出是.6 如以非成员函数形式,为类 Bounce 重载“;”运算符,其操作结果为一 bool 型数据,就该运算符重载函数的原型是 .7 下面是复数类complex 的定义,其中重载的运算符 “ +的”功能是返回一个新的复数对象,其实部等于两个操作对象实部之和,其虚部等于两个操作对象虚部之和.请补充完整:class complex可编辑资料 - - - 欢迎下载精品_精品资料_double real. /实部double imag. /虚部public:complexdouble r,double i:realr,imagi complex operator+complex areturn complex.8 已知一个函数模板定义为template T1, typename T2>T1 FUNT2 n return n * 5.0 .如要求以 int 型数据 7 为函数实参调用该模板函数,并返回一个double 型数据,就该 调用应表示为.9 设有 数组 和指针变量定义为 : inta23=1, 2 , 3 , 4 , 5 ,*p=&a02.就表达式 *p+1 的值为:.10 有 字 符 数 组 和 字 符 指 针 定 义 : chars1= ”string” ,char s2= ”char ”. char *const ps=s1.就使用指针 ps 进行操作时,可以转变ps,但不能转变 ps.11. 设 Cat 是已定义的类,整型变量 a 是 Cat 类的公有成员变量, p 是 Cat 类的对象指针,且已指向 Cat 类的对象 c,就用指针 p 给整型成员变量 a 赋值 5 的语句为:.12. 在 C+语言中,运算符可以重载,运算符重载实质上就是函数的重载,运算符重载实现的多态性属于:.13. 在 C+语言中,运算符可以重载,运算符重载实质上就是函数的重载,设后置运算符“ +”在类 A 的定义中被重载为成员函数,就对A 类对象 a 作运算a+,与该运算表达式等价的函数调用形式为:.14. 当爱护继承时,基类的成员在派生类中成为爱护成员,不能通过派生类的对象来直接拜访该成员.15. 在类中,成员为类的全部对象所共享.可编辑资料 - - - 欢迎下载精品_精品资料_16. 假如使用数组名作为函数参数,形实结合时,传递的是 .17. 有如下定义:class MAint value.public:MA (int n=0):valut( n) .MA*ta,tb.其中 MA 类的对象名标识符是.18. 如将一个二元运算符重载为类的成员函数,其形参个数应当是 个.19. 有如下程序: #include<iostream> using namespace std.class DAint k.public:DA(int x=1): k(x)DA() cout<<k. .int main() DA d=DA (3) ,DA(3),DA(3) .DA* p=new DA2 .deletep.return0 .这个程序的输出结果是.20. C+语言中的多态性分为编译时的多态性和时的多态性.三、简答题.1.什么叫做友元函数,什么叫做友元类? 2什么叫做多态性,面对对象的多态性可以分为哪四类? 3什么叫做作用域? C+中有哪几种类型的作用域?4. 对比简述 C语言中函数内静态局部变量与 C+中类的静态成员变量的特点.5. 简述用虚函数实现动态多态性的三个关键之处.6. 什么是内联函数,它有哪些特点?7. 列出拷贝构造函数被调用的三种情形.8. 比较类的三种继承方式 public 、protected 、private之间的差别.9. 什么是虚基类?有何作用?10. 什么是编译时的多态?详细包括哪些类型?11. 函数模板与函数重载有哪些区分?可编辑资料 - - - 欢迎下载精品_精品资料_12. 构造函数与析构函数有什么作用?四、综合编程题.1. 函数编程:定义一函数模板 swap,它能实现 x、y 值的交换,在 main 函数中用任意两个整数、两个浮点数分别使用这个函数模板.2. 函数编程:定义一函数void ContraryStrchar * str,它能实现字符串的逆序输出,在 main 函数中用任意字符串测试该函数.3. 类编程:定义一个表示工人的类Worker,有两个一般数据成员工龄 age 和工资 pay,有一个静态成员人数sum.定义一个有二个参数的构造函 数,给 age 和 pay 赋值,令 sum+.给 sum初始化为 0,定义一个静态成员函数 getsum,用于获得 sum的值.在 main 函数中以不同的方式定义二个工人对象,分别用二个对象和类名3 种方式调用 getsum 函数并输出相应人数.4. 派生类和虚函数编程:(1) ) 定义一个抽象类 Shape,并且供应二个纯虚函数:运算并返回面积函数 reArea 及运算并返回体积函数 reVolume.(2) ) 由 Shape类派生 Cube(正方体)类 ,它包括私有数据成员length(边长) ,仍包含构造函数和两个纯虚函数的实现.(3) ) 由 Shape类派生 Ball(球形)类 ,它包括私有数据成员radius(半径) , 也包含构造函数和两个纯虚函数的实现.注:球表面积公式 4R2,球体积公式 4/3R3 .(4) ) 在 main 函数中创建矩形类、球类对象存入一个shape类指针数组中,通过 for 循环将数组中各类图形的面积及体积输出.30 分5. 运算符重载编程:(1) ) 设计一个简洁分数类Fenshu,其包含两个整数的类数据成员分 子 fenzi 、分母 fenmu,定义并实现一个有两个整数作参数的构 造 函 数, 并 定 义 一 个 普 通 成 员 函 数 show , 它 能 以“fenzi/fenmu”格式输出分数.(2) ) 用成员函数方式重载 +运算符,用友元函数方式重载- 运算符, 实现分数类的 +和- 运算.(3) ) 在 main 函数中使用 Fenshu 类和二个重载运算符进行 + 和- 运算,并调用 show 函数进行输出.可编辑资料 - - - 欢迎下载

    注意事项

    本文(2022年面向对象程序设计复习题 .docx)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开