《2022年面向对象程序设计学习指南 .docx》由会员分享,可在线阅读,更多相关《2022年面向对象程序设计学习指南 .docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品_精品资料_面对对象程序设计-学习指南一、挑选题1.继承机制的作用是A.信息隐藏B.数据封装C.定义新类D.数据抽象2. 类的析构函数的作用是A. 一 般 成 员 函 数B.类 的 初 始 化D. 删 除 对 象 创建 的所 有 对 象数是在调用的.C. 对 象 的 初 始 化3. 类 的 析 构函A. 类创建时B.创建对象时情况数体 含有循环C.删除对象时D.不自动调用可编辑资料 - - - 欢迎下载精品_精品资料_4. 在 A. 函下 适 宜 采 用 inline定 义 内 联 函 数 .语 句B. 函 数 体 含 有 递 归 语 句可编辑资料 - - - 欢迎下载精品_精品资料_C.
2、 函 数 代 码 少 、 频 繁 调 用D. 函 数 代 码 多 、 不 常 调 用5. 如 果 类A被 说 明 成 类B的 友 元 , 就 A. 类 A 的成 员即类 B 的成员B. 类 B 的成 员即类 A 的成员C. 类 A 的成员函数不得拜访类B 的成员D. 类 B 不肯定是类 A 的友元指定作D.标 识 符6. 在 类 中声 明转 换 函 数 时不 能A. 参 数B. 访 问 权 限C. 操7. 在公有 继承 的情 况下 ,基 类成员 在派生类中 的拜访 权限 A. 受 限 制B. 保 持 不 变C. 受 保 护D. 不 受 保 护8. C+ 类 体 系 中 , 不 能 被 派 生
3、类 继 承 的 有 A. 转换函数B.构造函数C.虚函数D.静态成员函数9. 假定 AB 为一个类,就执行AB x.语句时将自动调用该类的 A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数10.C+语言建立类族是通过运算符置缺省 参数A. 类的嵌套B. 类的继承C. 虚函数D.抽象类11.C+对 C 语言作了许多改进,即从面对过程变成为面对对象的主要缘由是A. 增加了一些新的B. 允 许 函 数 重 载 , 并 允 许 设C. 规定函数说明符必须用原型D. 引进了类和对象的概念12. 下列符号不能组成标识符的是A. 连接符B.下划线C.大小写字母D.数字字符可编辑资料 - -
4、- 欢迎下载精品_精品资料_能修饰B.int13. 类型修饰符unsigned不A. charC.longintD.float14. 在inta=3,int*p=&a.中, *p的值 是A. 变量a的的址值B.无意义C.变量p的的址值D.315. 下 列 关 于 指 针 的 操 作 中 , 错 误 的 是 A. 两个同类型的指针可以进行比较运算B.可以用一个空指针赋给某个指针C. 一个 指 针可 以加 上两 个 整 数 之差 D. 两 个 同 类 型 的 指 针 可 以 相 加16. 重 载 函 数 在 调 用 时 选 择 的 依 据 中 , 错 误 的 是 A. 函数的参数B.参数的类型C.
5、函数的名字D.函数的类型17. 一个函数功能 不太复杂, 但要求被 频繁调用, 选用A.内联函数B.重载函数C.递归函数D.嵌套函数18.下列 不 是 描 述 类 的成员函数的是A.构造函数B.析构函数造函数是数 可以 重载C.友元函数D.拷贝构19. 构造函数不具备的特征的A. 构 造 函 数 的 函 数 名 与 类 名 相 同B. 构 造 函C.构造函数可以设置默认参数D.构造函数必需指定类型说明20.通常,拷贝构造函数的参数是A.某个对象名B.某个对象的成 员名C.某个对象的引用名D.某个对象的指针名21、以下关于类型转换的描述中,()是错误的.A、在不同类型操作数组成的表达式中,其表达
6、式类型肯定是最高类型double型.B、逗号表达式的类型是最终一个表达式的类型. C、赋值表达式的类型是左值的类型.D、由低向高的类型转换是保值映射.22、( )不是构造函数的特点.A、构造函数的函数名与类名相同. B、构造函数可以重载.C、构造函数可以设置缺省参数.D、构造函数必需指定类型说明.23、在 C+中,关于以下设置参数默认值的描述中,()是正确的.A、不答应设置参数的默认值.B、设置参数默认值只能在定义函数时设置.C、设置参数默认值时,应当是先设置右边的,再设置左边的. D、设置参数默认值时,应当全部参数都设置.可编辑资料 - - - 欢迎下载精品_精品资料_24、关于 new 运
7、算符的以下描述中,()是错误的.A、它可以用来动态创建对象和对象数组.B、使用它创建的对象或对象数组可以使用运算符delete删除. C、使用它创建对象时要调用构造函数.D、使用它创建对象数组时必需指定初始值.25、重载函数在调用时挑选的依据中,()是错误的.A、参数个数. B、参数的类型. C、函数名字.D、函数的类型26、以下描述中,()是抽象类的特性.A、可以说明虚函数.B、可以进行构造函数重载. C、可以定义友元函数.D、不能说明其对象.27、( )是析构函数的特点.A、一个类中只能定义一个析构函数. B、析构函数名与类名不同.C、析构函数的定义只能在类体内.D、析构函数可以有一个或多
8、 个参数.28、关于 delete运算符的以下描述中,()是错误的.A、它必需用于 new 返回的指针. B、它也适用于空指针.C、对一个指针可以使用多次该运算符.D、指针名前只有一对方括号符,不管所删除数组的维数.29、const int *p 说明不能修改().A、p 指针.B、p 指针指向的变量.C、p 指针指向的数据类型. D、上述 A、B、C 三者.30、关于子类型的描述中,()是错误的.A、子类型就是指派生类是基类的子类型.B、一种类型当它至少供应了另一种类型的行为,就这种类型是另一种类型的子类型.C、在公有继承下,派生类是基类的子类型. D、子类型关系是不行逆的.二 、 填 空
9、题 1. 对 象 的 三 大 基 本 特 性 是 多 态 性 、 封装 性 .2. C+语 言 的 函 数 参 数 传 递 方 式 有 传 值 和.可编辑资料 - - - 欢迎下载精品_精品资料_3. 重 载 赋值 操作 符 时, 应声 明 为 函 数 .4. 用 声明的基类称为虚基类.5. 用 声明函数称为虚函数.6. 派生类对基类继承掌握拜访有三种.派生类可以定义其基类中不具备的.7. 静 态 成 员 是 对 象 的 成 员 ,函 数 不 是 类 的 成 员 .8. 在函数体之前加 关键字可以防止掩盖函数转变数据成员的值.9. 一个const对象 只能 访 问成 员函 数 .10. 使用友
10、元函数是为了提高程序效率,且节省了 开销.11. 在面对对象程序设计中,将一组数据和这组数据有关的操作集合组装在一起形成对象,这个过程叫.不同的对象可以调用相同名称的函数并导致完全不同的行为的现象称为.12. 假如一个类的名称为MyClass,就这个类缺省的构造函数名称为 .可编辑资料 - - - 欢迎下载精品_精品资料_使用这个类的一个对象初始化该类的另一个对象时,可以调用数来完成此功能. 构造函可编辑资料 - - - 欢迎下载精品_精品资料_13. 局部对象和全局对象中,在同一程序中 生存期最长. this 指针始终指向当前正在发出成员函数调用命令的 .可编辑资料 - - - 欢迎下载精品
11、_精品资料_14. 所谓赋值兼容规章是指在公有派生情形下,一个 类的对象来使用的的方. 类的对象可以作为可编辑资料 - - - 欢迎下载精品_精品资料_15. 带有的类称为抽象类,它只能作为来使用.16. 掌握格式输入输出的操作中,函数 是设置域宽的,函数是设置填充字符.(要求给出函数名和参数类型)17. 类模板用来表达具有相同的数据集.18. 对已有的运算符给予多重含义,使同一运算符作用于不同类型的数据,称为 ,它的实质就是.19、全部的面对对象程序设计语言,都支持三个共同的本质特点、.20、为明白决程序中函数调用的效率问题,引入了,定义时需在函数前面加上说明.21、在类的定义当中,缺省的成
12、员是成员.22、利用成员函数对二元运算符进行重载时,其左操作数为,右操作数为.23、设置虚基类的目的是.24、动态联编是在的支持下实现的.三、问答题1. 什么是面对对象程序设计 .它与面对过程程序设计的主要区分是什么.2. 什么是继承,单继承,多继承 . 请举例说明.3. 有哪几种派生方式 .4. 什么是虚函数 .可编辑资料 - - - 欢迎下载精品_精品资料_5. 对象有什么特点?6. 面对对象程序设计语言有什么特点 .7. 什么是纯虚函数 .什么是抽象类 .8. C+为什么要有自己的输入输出系统.9. 什么是对象 .什么是类?10. 爱护成员的特性是什么?11. 函数模板和模板函数的区分4
13、. 什么是多态性 . 举例说明.三、应用题1. 如下两个函数是否等价 . float fun.float funvoid.2. 以下在内存中安排一个整型数组并将其初始化为零的语句,正确与否. int *myval=new int40O.3. 建立类 box, box 的构造函数被传递了三个 double 值,每一个 double 值表示盒子的一条边长.用 box 类运算立方体的体积,并储备在一个 double 变量中,在 box 类中包含一个成员函数 vol ,用来显示每个 box 对象的体积.4. 下面是一个运算器的类的定义,请完成该类的实现.Class couter Int value .
14、Public:Muterint number.Void increment.Void decrement.Int getvalue.Void print.可编辑资料 - - - 欢迎下载精品_精品资料_参考答案一、挑选题1.C2.C3.D4.C 5.D6.C7.B8.C9.B10.B11.D12.A13.D14.D15.D16.A17.A18.C19.D20.C21.A 22.D23.B24.D 25.B26 A27.A28.B 29B 30A二、填空题1. 抽象 2. 传的址 3. 友元 4.class virtual5.virtual6. 数据和操作 7. 友元 8.const9.cons
15、t10.调用类的成员函数11 数据封装多态性12MyClass拷贝(或复制) 13 全局对象对象14派生基15 纯虚函数基类16setwintfillchar17 处理方法对象18运算符重载函数重载19 封装 多态性继承 20 内联函数inline 21Private22this指针 成员函数参数23 排除二义性虚函数三、问答题1. 面对对象程序设计是一种程序设计方法,它的主要结构特点是:程序一般分为类的定义和类的使用两部分,在主程序中定义各种对象并规定它们之间传递消息的规律.程序中一切操作都是通过向对象发送消息来实现的,对象接收到消息后,启动有关方法完成相应的操作.它与面对过程程序设计的主要
16、区分,从表面看,一个主要面对对象,一个主要面对过程.面对过程程序设计的核心是程序功能分解,划分功能模块,产生数据结构以及对这些数据结构操作的过程,程序就这样构成了.而面对对象程序设计就将数据和操作过程封装成对象,独立性强,可重用性强,给人展现了一种清爽的程序“建筑”风格.2. 继承是指由一个父类衍生出一个子类.父类和子类之间有共享特性,包括数据和方法.有差别和新增部分,比如现实中儿子长的酷像父亲但是又不能说完全一样.继承分为单继承和多继承.单继承是指从一个类继承而来,只具备父类的属性和方法.比如定义个叫做“人”的类,那么“男人”类就是一个继承,男人具备了人的基本特点,比如有五官,直立行走以及会
17、劳动等.多继承是指从多个类继承而来,具备多个类的属性和方法.比如有“玩具”类和“车”类两个类,同时继承这两个类就产生“玩具车”类5什么是可编辑资料 - - - 欢迎下载精品_精品资料_继承,单继承,多继承 . 请举例说明.继承是指由一个父类衍生出一个子类.父类和子类之间有共享特性,包括数据和方法.有差别和新增部分,比如现实中儿子长的酷像父亲但是又不能说完全一样.继承分为单继承和多继承.单继承是指从一个类继承而来,只具备父类的属性和方法.比如定义个叫做“人”的类,那么“男人”类就是一个继承,男人具备了人的基本特点,比如有五官,直立行走以及会劳动等.多继承是指从多个类继承而来,具备多个类的属性和方
18、法.比如有“玩具”类和“车”类两个类,同时继承这两个类就产生“玩具车”类.3. 有两种派生方式:公有派生和私有派生.4. 虚函数是在基类中被关键字 virtual说明,并在派生类中重新定义的函数.它是重载的一种表现形式,它是一种动态的重载方式.在派生类中重新定义时,其函数原型,包括返回值,函数名,参数个数与参数类型的次序,都必需与基类中的原型完全相同.5 对象有如下特点: 1 每一个对象必需有一个名字以区分其他对象,这个名字不能懂得为人的名字,由于它不答应重名,可以懂得为我们的身份证号.2 我们用属性来描述一个对象的某些特点3 有一组操作,每一个操作打算对象的一个行为.6 面对对象程序设计语言
19、的特点是:1它支持对象的概念 包括对象的所有特点,如封装等 . 2它要求对象属于类. 3 它供应继承机制.7 纯虚函数是在一个基类中说明的虚函数,它在该基类中没有定义,但是要求在它的派生类中定义自己的版本,或重载说明为纯虚函数.纯虚函数的一般形式如下:virtual type func_name参数表 =O.type 是函数的返回类型, func_name 是函数名.假如一个类至少有一个纯虚函数,那么就称该类为抽象类.由于抽象类至少包含一个没有定义功能的纯虚函数,因此抽象类只能用作其他类的基类,不能建立抽象类对象.抽象类不能用作参数类型,函数返回类型或显式转换的类型.但是可以声明指向抽象类的指
20、针或引用,此指针可以指向它的派生类,进而实现多态性.8 由于在 C+中需要定义众多的用户自定义类型,面对对象方法的数据封装 性就是通过用户所定义的类类型来表达的,而继承性和多态性也是通过对片j 户定义的类对象的操作来表达的.但C 语言的输入输出系统不支持用户自定义 的对象.因此 C+建立了一个可扩展的输入输出系统,它可以通过修改和扩展来加入用户自定义类型及相应操作.9. 对象:对象可以简洁懂得为现实世界中的一个实体.对象拆分为两部分: 对象属性和对象的操作.对象的操作说明属性的操作行为.类:类是高于对象的一个抽象概念,是产生类的模板,类可以随便的产生一个对象,当然这些对象都具有类定义的属性和相
21、应的操作.10. 爱护成员的特性:爱护成员可以被派生类的成员函数拜访.但是对外界是隐匿起来的.外部可编辑资料 - - - 欢迎下载精品_精品资料_函数不能拜访它.所以将基类私有成员中需要供应应派生类拜访的成员定义为爱护成员.11 函数模板和模板函数的区分:函数模板是模板的定义,定义中用到的是通用的参数类型,它可以是任意类型 AT为参数和返回值.函数模板是实实在在的函数定义,它是由编译系统碰见详细函数调用时生成的,具有函数代码.12多态性是指不同的对象收到相同的消息时产生多种不同的行为方式.实现多态有两种方式:重载以及虚函数.以重载为例,运算符“ +”重载后,当执行 3+5 时,根据系统最初定义
22、的加运算进行操作.当进行复数加时,比如:3+1i+4-2i,编译系统会使用自定义的运算符重载函数,一样可以实现复数加运算.重载扩展了“+”的功能.二、 应用题1. 等价. intfun函数的参数默认为 void 类型.2. 正确.由于 c+规定可以为简洁变量安排内存空间的同时初始化.上述语句为整型变量安排了空间并初始化为O.3. class box private:double volume.public:boxdouble height,double length,double widthvolume=height*length*width.double volreturn volume. .4.Class couter int value.Public:Muterint number:valuenumber Void incrementint addvalue value=value+addvalue. Void decrementint decvaluevalue=value-decvalue. Int getvaluereturn value.可编辑资料 - - - 欢迎下载精品_精品资料_Void printcoutvalue . .可编辑资料 - - - 欢迎下载