




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 1欢迎下载 一 单项选择题 本大题共 10 小题 每小题 2 分 共 20 分 1 在 C 中 函数原型不能标识 D A 函数的返回类型 B 函数参数的个数 C 函数参数类型 D 函数的功能 2 在 C 程序中 对象之间的相互通信通过 B A 继承实现 B 调用成员函数实现 C 封装实现 D 函数重载实现 3 对于任意一个类 析构函数的个数最多为 B A 0 B 1 C 2 D 3 5 友元关系不能 A A 继承 B 是类与类的关系 C 是一个类的成员函数与另一个类的关系 D 提高程序的运行效率 6 语句 ofstream f SALARY DAT ios app ios binary 的功能是建立流对象 f 试 图打开文件 SALARY DAT 并与之连接 并且 A A 若文件存在 将文件写指针定位于文件尾 若文件不存在 建立一个新文件 B 若文件存在 将其置为空文件 若文件不存在 打开失败 C 若文件存在 将文件写指针定位于文件首 若文件不存在 建立一个新文件 D 若文件存在 打开失败 若文件不存在 建立一个新文件 7 下面说法正确的是 B A 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方 B 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C 类的内联函数必须在类体内定义 D 类的内联函数必须在类体外通过加关键字 inline 定义 当程序使用内敛函数时 编译器将每个函数调用都用函数内的语句代替 这样就省去了函 数调用地开销 8 可以用 p a 的形式访问派生类对象 p 的基类成员 a 其中 a 是 D A 私有继承的公有成员 B 公有继承的私有成员 C 公有继承的保护成员 D 公有继承的公有成 精品文档 2欢迎下载 员 函数可以调用成员 对象不可以调用 9 在公有派生情况下 有关派生类对象和基类对象的关系 不正确的叙述是 C A 派生类的对象可以赋给基类的对象 B 派生类的对象可以初始化基类的引用 C 派生类的对象可以直接访问基类中的成员 D 派生类的对象的地址可以赋给指向基类 的指针 派生类的对象是不能访问基类的任何成员 10 对于类定义 class A public virtual void func1 void func2 class B public A public void func1 cout class B func 1 end1 virtual void func2 cout class B func 2 end1 下面正确的叙述是 C A A func2 和 B func1 都是虚函数 B A func2 和 B func1 都不是虚函 数 C B func1 是虚函数 而 A func2 不是虚函数 D B func1 不是虚函数 而 A func2 是虚函数 第二部分非选择题 共 80 分 二 填空题 本大题共 10 小题 每小题 2 分 共 20 分 精品文档 3欢迎下载 11 定义类的动态对象数组时 系统只能够自动调用该类的 无参 构造函数对其进行 初始化 12 在 C 程序设计中 建立继承关系倒挂的树应使用 单 一 继承 13 表达式 cout end1 还可表示为 cout 20 派生类从一个或多个以前定义的该类的 基类 一 单项选择题 每题 2 分 共 20 分 1 派生类对象可访问基类中的什么成员 A A 公有继承的公有成员 B 公有继承的私有成员 C 公有继承的保护成员 D 私有继承的公有成员 2 定义析构函数时 应该注意 C A 其名与类名完全相同 B 返回类型是 void 类型 C 无形参 也不可重载 D 函数体中必须有 delete 语句 3 如果类 A 被说明成类 B 的友元 则 D 精品文档 4欢迎下载 A 类 A 的成员即类 B 的成员 B 类 B 的成员即类 A 的成员 C 类 A 的成员函数不得访问类 B 的成员 D 类 B 不一定是类 A 的友元 4 应在下列程序划线处填入的正确语句是 C include class Base public void fun cout Base fun endl class Derived public Base void fun 显示调用基类的函数 fun cout Derived fun fun 5 面向对象程序设计将数据与 A 放在一起 做为一个相互依存 不可分割的整 体来处理 A 对数据的操作 B 信息 C 数据隐藏 D 数据抽象 6 在类中声明转换函数时不能指定 A A 参数 B 访问权限 C 操作 D 标识符 7 在派生类中重新定义虚函数时必须在 A 方面与基类保持一致 A 参数类型 B 参数名字 C 操作内容 D 赋值 精品文档 5欢迎下载 8 下面关于 C 中类的继承与派生的说法错误的是 C A 基类的 protected 成员在公有派生类的成员函数中可以直接使用 B 基类的 protected 成员在私有派生类的成员函数中可以直接使用 C 公有派生时 基类的所有成员访问权限在派生类中保持不变 D 基类的 protected 成员在保护派生类的成员函数中可以直接使用 10 语句 ofstream f SALARY DAT ios app ios binary 的功能是建立流对象 f 试图打开文件 SALARY DAT 并与之连接 并且 A A 若文件存在 将文件写指针定位于文件尾 若文件不存在 建立一个新文件 B 若文件存在 将其置为空文件 若文件不存在 打开失败 C 若文件存在 将文件写指针定位于文件首 若文件不存在 建立一个新文件 D 若文件存在 打开失败 若文件不存在 建立一个新文件 二 填空题 每空 2 分 共 30 分 1 假定 AB 为一个类 则语句 AB AB public A int aa 0 a new int aa 用 aa 初始化 a 所指向的动态对象 A delete a 释放动态存储空间 7 C 支持面向对象程序设计的四个要素是 封装性 继承性 抽象性 和 多态性 8 模板分为 类 模板和 函数 模板 一 单项选择题 每题 2 分 共 20 分 1 在下面选项中 对类的拷贝构造函数的声明形式是 B A A A public BASE char n c n virtual BASE cout c class DERIVED public BASE char c public DERIVED char n BASE n 1 c n DERIVED cout SetValue 5 与 my SetValue 5 等 价 9 下列各类函数中 C 不是类的成员函数 A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数 10 派生类的对象对它的基类成员中 A 是可以访问的 A 公有继承的公有成员 B 公有继承的私有成员 C 公有继承的保护成员 D 私有继承 的公有成员 执行上面的程序将输出 C A X B YX C XY D Y 精品文档 9欢迎下载 8 C 支持面向对象程序设计的四个要素是 抽象性 多态性 封装性 和 继承性 一 单项选择题 每题 2 分 共 20 分 1 下面有关构造函数和 new 运算符关系正确的说法是 D A new 运算符不调用构造函数 B 构造函数一定调用 new 运算符 C 当生成新类的实例时 先调用 new 运算符 然后调用构造函数进行初始化 D 当 new 运算符动态产生类的对象时 new 运算符也自动调用构造函数 2 下面有关类性质的说法错误的是 D A 一个类可以有多个构造函数 但只有一个析构函数 B 析构函数和构造函数都不能有 返回类型 C 不能给析构函数指定参数 D 一个类中不可以声明具有类类型的数据成员 3 下面关于友元函数描述正确的是 C 二 填空题 每空 2 分 共 30 分 1 定义内联函数所用的关键字 inline 定义友元所用的关键字为 friend 2 当一个派生类具有多个基类时 这种继承方式称为 多重继承 3 通过一个构造函数调用虚函数时 C 系统对该调用采用 静态 联编 4 任何类中允许有 privated public protected 三种访问控制类型的成员 数据成员和成员函数的默认类型为 privated 5 只有在 公有 继承的情况下 基类和派生类之间才有赋值兼容性规则 6 C 标准库中的异常层次的根类定义在库的头文件 exception h 中 7 运算符重载使用的两种方式是 成员函数 和友元函数 精品文档 10欢迎下载 A 友元函数是类的成员 B 友元函数在类的外部声明 C 友元函数在类中声明 D 友元函数 能够派生 4 下面叙述正确的是 D A 派生类不可以使用私用派生 B 保护派生时 基类的保护成员在派生类中是公有的 C 对基类成员的访问允许二义性 D 赋值兼容规则也适用于多重继承的组合 5 有关运算符重载正确的描述是 D A C 语言允许在重载运算符时改变运算符的操作个数 B C 语言允许在重载运算符时 改变运算符的优先级 C C 语言允许在重载运算符时改变运算符的结合性 D C 语言允许在重载运算符时改 变运算符的原来的功能 6 下面描述中 表达错误的是 B A 公有继承时基类中的 public 成员在派生类中仍是 public 的 B 公有继承是基类中的 private 成员在派生类中仍是 private 的 C 公有继承时基类中的 protected 成员在派生类中仍是 protected 的 D 私有继承时基类中的 public 成员在派生类中是 private 的 7 拷贝构造函数的参数是 A 某个对象名 B 某个对象的成员名 C 某个对象的引用名 D 某个对象的指针名 8 下列关于构造函数的描述中 错误的是 A 构造函数可以设置默认参数 B 构造函数在定义类对象时自动执行 C 构造函数可以是内 联函数 D 构造函数不可以重载 9 数组作为函数的形参时 把数组名作为实参 传递给函数的是 A 该数组的首地址 B 该数组的元素个数 C 该数组中的各元素值 D 该数组的大小 10 通过一个析构函数调用虚函数时 C 系统对该调用采用 精品文档 11欢迎下载 A 动态联编 B 静态联编 C 不确定是哪种联编 D 函数重载 二 填空题 每空 2 分 共 30 分 1 成员名限定的符号是 它可以在引用成员时避免 二义性 2 只有在 公有 继承的情况下 基类和派生类之间才有赋值兼容性规则 3 模板分为 类 模板和 函数 模板 4 在用 class 定义一个类时 数据成员和成员函数的默认访问权限是 5 已知 int DBL int n return n n 和 long DBL long n return n n 是一个函数模板 的两个实例 则该函数模板的定义是 要求写出函数模板的完整定义 6 静态数据成员必须在 类外 进行初始化 7 含有纯虚函数的类称为 抽象类 8 若 Queue 是一个类 aQueue 是它的一个对象 而且该类中定义了一个静态成员函数 show 则在类外对该成员的函数进行调用的方式可以为 aQueue show 和 Queue show 9 定义内联函数所用的关键字为 定义友元所用的关键字为 10 使用成员函数重载运算符时 若运算符是二元的 则参数表中有 个操作数 此时 当前对象 作为此运算符的左操作数 一 单项选择题 每题 2 分 共 20 分 1 下面有关重载函数的说法中正确的是 C A 重载函数必须具有不同的返回值类型 B 重载函数形参个数必须 先匹配个数在匹 配类型 精品文档 12欢迎下载 C 重载函数必须有不同的形参列表 D 重载函数名可以不同 不同 2 使用 string 类建立对象的不正确方式是 D A string str OK B string str OK C string str D string str OK 3 面关于 C 中类的继承与派生的说法错误的是 C A 基类的 protected 成员在公有派生类的成员函数中可以直接使用 B 基类的 protected 成员在私有派生类的成员函数中可以直接使用 C 私有派生时 基类的所有成员访问权限在派生类中保持不变 D 继承可以分为单一继承与多重继承 4 面向对象程序设计将数据与 A 放在一起 作为一个相互依存 不可分割的整体来 处理 A 对数据的操作B 信息C 数据隐藏 D 数据抽象 5 一个类的析构函数 A A 唯一的 B 允许重载 C 至多可有两个 D 只能是缺省的 6 下列各类函数中 C 不是类的成员函数 A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数 7 在下面选项中 对类的拷贝构造函数的声明形式是 B A A A public int b int f int i int j class derive base int c public int base b base f int i int j 1 2 2 include class A public void A int i 0 m i void show cout m void A private int m void main A a 5 a m 10 a show 3 4 5 3 include 精品文档 14欢迎下载 using namespace std class base int a static int b public base int m int n a m b n static int geta return a static int getb return b void show cout geta getb endl base int b 45 void main 6 7 8 1 int base b 2 base f int i int j 1 base b 或访问声明仅仅调整名字的访问 不可为它说明任何类型 2 base f 或访问声明不应说明函数参数 3 void A int i 0 m i 4 void A 5 a m 10 3 构造函数去掉 void 或构造函数不能指定返回值类型 4 析构函数去掉 void 或析构函数不能指定返回值类型 5 对象不能访问私有成员 6 base int m int n a m b n 7 static int geta return a 8 base int b 45 精品文档 15欢迎下载 6 不能通过构造函数初始化静态数据成员 只要把 b n 去掉即可 7 静态成员函数中不能引用非静态成员数据成员 或去掉 static 8 int base b 45 1 Template T fun T x T y y T 2 x retrun y 1 2 2 class base public f f int a f char p class derive base public void f int s base f 精品文档 16欢迎下载 3 include class A public void setA int void showA private int a class B public void setB int void showB private int b class C public A private B public void setC int int int void showC private int c void A setA int x a x void B setB int x b x void C setC int x int y int z a x b y setA x setB y c z 精品文档 17欢迎下载 1 Template 2 y T 2 x 1 改为 template 2 T 不能用作 的操作数 3 base f 3 派生类中具有与基类同名的函数 则基类中的此函数不能在派生类中进行访问声明 4 a x 5 b y 6 obj setB 6 7 obj showB 8 return 0 4 派生类不能访问基类 A 类的私有成员 5 派生类不能访问基类 B 类的私有成员 6 不能访问 B 类的公有成员 setB 7 不能访问 B 类的公有成员 showB 8 去掉此语句 或主函数的返回值 void 去掉或改为 int 一 填空 每题 2 分 共 20 分 1 C 程序中 对象的初始化和清理工作 分别由两个特殊的成员函数 和 来 完成 2 在 c 中 分别用 变量 与 函数 来表现某种事物的所具有的属性和行为 并且将它们封装在一起 形成一种抽象数据类型 类 3 当用一个对象初始化另一个新的同类对象 将调用 其特殊之处在于 形参是 精品文档 18欢迎下载 4 模板是 C 支持参数化的工具 我们通常用类模板和函数模板 这些只是面向对 象的 性的一个方面 5 如果在某个类定义中用关键字 声明了一个外部函数 也许是其他类的一个成 员 后 这个外部函数就可以例外的访问该类的任何成员 这个外部函数称为类的 函数 6 可以将类的成员声明为 static 使其成为 这样的成员在编译时被创建 其 实例只有一个 为所有该类的对象 7 是动态动态联编的基础 它是非静态的成员函数 经过 之后 在类族中 可以实现运行过程中的多态 8 程序中有如下语句 int a 30 int b a int c a 则 b c 9 数组 A 20 20 中 第一个元素是 最后一个元素是 10 声明一个 int 型指针 请为其动态分配含 10 个元素的地址空间 二 程序分析 30 分 1 分析程序 写出程序的输出结果 7 分 include class Clock private int Hour Minute Second public void SetTime int NewH 24 int NewM 24 int NewS 24 Hour NewH Minute NewM Second NewS void ShowTime cout Hour Minute Second endl void main cout time set and output endl Clock MyClock 精品文档 19欢迎下载 MyCLock SetTime MyClock ShowTime MyClock SetTime 8 30 30 MyClock ShowTime 2 分析程序 写出程序的输出结果 7 分 include class point private int x y public point int xx 0 int yy 0 x xx y yy cout 构造函数被调用 endl point point int GetX return x int GetY return y point point point y p y cout 拷贝构造函数被调用 endl void main point A 4 5 point B A cout B GetX buffer stacksize cout overflow n else sp data sp long stack pop if sp buffer cout push 351 是 pa push 7075461 cout endl cout pop is popped n delete pa 4 注释下列语句 8 分 include include include void main char filename 20 cout filename ifstream input filename cout filename ofstream output filename int number while input number output 10 number input clos
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新零售模式线上线下融合方案
- 兼职工作协议的注意事项
- 企业市场分析中的数据挖掘技术
- 2025年世界顶级几何题目及答案
- 浸出生产车间考试试题及答案
- 分数通分试题及答案
- 2025年善意的谎言辩论材料
- 2025年山西省晋中市事业单位工勤技能考试题库及答案
- CN120246490A 仓储系统、货架机器人、换电机器人及换电方法 (杭州海康机器人股份有限公司)
- CN120127918B 一种伺服电机定子冲片自动化叠片机 (江苏联博精密科技股份有限公司)
- 《社会工作》课件
- 中国工程总承包行业市场深度调研及发展趋势与投资前景研究报告2025-2028版
- 老年髋部骨折围术期护理临床实践专家共识2024版解读
- 中国胎教行业市场调研分析及投资前景预测报告
- 储能电站施工方案新建项目
- 《GNSS测量技术与应用》 课件 4.10GNSS控制测量技术总结
- DB32-T 4987-2024 桥梁轻量化监测系统建设规范
- 电梯自动化与智能化技术的前沿探索
- 2025年万达商业地产租赁合同标准版
- 湖南造价咨询合同范本(2篇)
- DB21-T 4079-2024 畜禽养殖场污水贮存设施建设规范
评论
0/150
提交评论