已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习好帮手 VC 程序设计 郑阿奇 丁有和 编著 机械工业出版社出版 知识点整理 DX 单选 MX 多选 TK 填空 J D 简答 BC 编程 第第 1 章 章 C C 语言概述语言概述 1 表达式中不正确不正确的是 16i 5 DX 2 合法的标识符为 DK3 DX 3 实现两个字符串连接 成一个字符串的函数 是 strcat 函数 DX 4 有关函数的说法正确 的是函数在调用之前 必须前进行声明 DX 5 用 new 指定分配内存 大小 正确的写法是 float p p new float DX 6 如果通过函数来实现 一种不太复杂的功能 且要求加快执行速度 应选用内联函数 DX 7 一个对象使用 new 运 算符创建 必须使用 delete 运算符来释放 申请其内存空间 TK 8 float 语句时 共调 用该类构造函数的次数为 1 次 DX 17 关于成员函数特征的 说法中 正确的是 成员 函数可以重载 成员函数 学习好帮手 可以设置参数的默认值 MX 18 在继承机制中 3 种 继承方式分别是 公有 继承 私有 继承 保护 继承 TK 19 私有继承方式下 基 类的私有成员在派生类中 不可访问 DX 20 公有继承方式下 派 生类的成员函数可以直接 访问其基类中的 公有成 员 保护成员 MX 21 设 base 为基类 derived 是 base 的派生类 且有 base a1 b1 derived aa1 bb1 不合乎语 法的语句是 aa1 a1 DX 22 把一个变量定义为静 态变量 应使用 static 关键 字 DX 23 关于析构函数的说法 正确是 析构函数是类的 成员函数 DX 24 有关析构函数的说法 中不正确不正确的是 析构函数和 构造函数一样可以有参数 DX 25 类的析构函数的作用 是 删除对象 DX 26 类的析构函数是一个 对象被 撤销 时自动 调用的 DX 27 假定 MyClass 为一个 类 该类的析构函数的是 MyClass DX 28 什么样的析构函数不 能设计为空 析构函数可 以重载吗 JD 1 若类中用 new 运算符 动态申请内存空间 则该 类的析构函数一定不能为 空 2 析构函数不能重载 29 如果类中的成员能在 类中或类外都可以直接使 用 应加上正确的访问权 限是 public DX 30 公有继承方式下 派 生类的成员函数可以直接 访问其基类中的公有成员 保护成员 MX 31 表达错误错误的是公有继 承时基类中的 private 成员 在派生类中仍是 private 的 DX 32 关于基类和派生类的 说法正确的是 基类的对 象不可赋予派生类的对象 DX 33 关于继承的说法中不不 正确正确的是 派生类中继承 的基类成员的访问权限到 派生类保持不变 DX 34 如果没有给一个名为 Pen 的类定义构造函数 则系统为其定义的默认构 造函数形式为 Pen 默认的析构函数形式为 Pen TK 35 如果没给一个名为 AB 的类定义构造函数 俺么 系统自动为其定义的构造 函数称为 默认构造函数 TK 36 有如下类声明 class Foo int bar 则 Foo 类的成员 bar 是 私有数据成员 DX 37 假设一个类的构造函 数为 A int aa int bb a aa b aa bb 则 执行 A x 4 5 语句 后 x a 和 x b 的值分别 为 4 和 20 DX 38 在定义对象的同时初 始化其成员变量 需要利 用 构造 函数 用于初 始化变量的值可以是固定 常量 也可以通过 初始 化列表 获得 TK 39 如果需要把一个函数 void show 定义为一 个类 Student 的友元函数 那么应在类 Student 的定义 中加入一条语句 friend void show TK 40 阅读程序 写出运行 结果 JD include class Base int x public Base int y 0 x y cout 构造 Base n Base cout 析 构 Base n class Derived public Base public Derived int x 0 int y 0 Base x d y cout 构造 Derived n Derived cout 析构 Derived n private Base d void main Derived Ob 结果为 构造 Base 构造 Base 构造 Derived 析构 Derived 析构 Base 析构 Base 41 阅读程序 写出运行 结果 JD include class A public A cout constructor A n A cout deconstruct or A n class B public B cout constructor B n B cout deconstruct or B n class C public A virtual B public C B A cout cons tructor C n 学习好帮手 C cout deconstruct or C n void main C cc cout main programe run n 结果为 constructor B constructor A constructor C main programe run deconstructor C deconstructor A deconstructor B 42 阅读程序 写出运行 结果 JD include class A public A cout Constructor A n endl A cout Destructor A n endl class B public B cout Constructor B n endl B cout Destructor B n endl class C public A public B public C cout Constructor C n endl C cout Destructor C n endl void main C obj 结果为 Constructor A Constructor B Constructor C Destructor C Destructor B Destructor A 43 阅读程序 写出运行 结果 JD include class R private int left public R int L left L cout A n R left 0 cout B n void print cout left n R if left 0 cout A n else cout B n void main R r1 10 r2 r1 print r2 print 结果为 A B 10 0 B A 44 派生类的对象对它的 基类中哪个成员是可以访 问的 公有继承的公有成 员 DX 45 关于静态数据成员的 特征中 不正确不正确的是 静 态数据成员不是所有对象 所公有的 DX 46 关于静态数据成员的 说法中 不正确的不正确的是 说 明静态数据成员时前边要 加修饰符 static 静态数 据成员不是该类的所有对 象所共有的 MX 47 如果类 TM 和类 TN 是 两个独立的类 那么类 TM 中哪种形式的数据成员被 允许的是 TM a TN DX 48 在面向对象程序设计 中 能作为某个类的数据 成员的是 自身类对象的 指针 自身类对象的引用 另一个类的对象 MX 49 关于基类和派生类的 描述中 正确的说法是 派生类是基类的具体化 派生类是基类的组合 MX 50 派生类对继承的三种 方式是公有继承 私有继 承和 保护继承 TK 51 从基类产生派生类的 方法一般分为 单继承 和 多继承 两种 TK 52 派生类对象建立时 先执行 基类 的构造函 数 然后执行 派生类 的构造函数 TK 53 定义平面直角坐标系 上的一个点类 CPoint 作为 基类 派生出一条直线类 CLine 和一个矩形类 CRect 并求出两点间距离 和矩形的面积 BC include include class CPoint protected double a b public CPoint float m float n a m b n CPoint class Cline public CPoint private double c d public Cline float x1 float y1 float x2 float y2 CPoint x1 y1 c x2 d y2 void Distance void Cline Distance double dis dis sqrt c a c a d b d b cout 两点间距离为 dis endl class CRect public CPoint public CRect float x float y CPoint x y void Area cout The area is a b endl void main Cline c1 2 2 4 4 学习好帮手 c1 Distance CRect c2 2 4 c2 Area 54 学生和教师数据输入 和显示程序 学生数据有 编号 姓名 班号和成绩 教师数据有编号 姓名 职称和部门 要求将编号 姓名输入和显示设计成一 个类 person 并作为学生 数据操作类 student 和教师 数据操作类 teacher 的基类 BC include class person protected int num char name 20 public void input cout num cout name void output cout 编号为 num endl cout 姓名为 name endl class student public person protected int classnum float grade public void input1 cout 输入学生数 据 endl input cout classnum cout grade void output1 cout 输出学生的 数据 endl output cout 班号为 classnum endl cout 成绩为 grade endl class teacher public person protected char n 10 m 20 public void input2 cout 输入教师的 数据 endl input cout n cout m void output2 cout 输出教师的 数据 endl output cout 职称为 n endl cout 部门为 m endl void main student s s input1 s output1 teacher t t input2 t output2 55 如果把一个类外定义 的成员函数指明为内联函 数 那么必须关键字为 inline DX 56 阅读程序 写出运行 结果 JD include class AA int a public AA cout Initualizing AA n AA cout Destroying AA n class BB int b AA p public BB cout Initualizing BB n BB cout Destroying BB n void main BB X cout Ending main n 结果为 Initualizing AA Initualizing BB Ending main Destroying BB Destroying AA 57 定义一个 Point 类 派生出 Rectangle 类和 Circle 类 计算各派生类 对象的面积 Area BC include define PI 3 1415926 class Point protected double a b public Point double x double y a x b y virtual void Area 0 class Rectangle public Point public Rectangle double x double y Point x y void Area cout 矩形面积 为 a b endl class Circle public Point public Circle double x double y 0 Point x y void Area cout 圆的面积 为 PI a a endl void main Rectangle r 3 5 4 5 Circle c 5 5 r Area c Area 58 建立一个数组类 ARR 具体要求如下 1 私有数据成员 int n 存放数组元 素个数 int a 100 存放数组 学习好帮手 元素 2 公有成员函数 ARR int x int size 构造函数 用参数 size 初始化 n 用参数初始 化 a 数组 void delsame 完 成将数组 a 中相同元素删 除工作 void show 将数 组以每行 5 个数的形式输 出到屏幕上 3 在主函数中定义数组 int b 16 其初值是 1 2 2 3 4 4 5 6 6 7 8 8 8 9 1 0 10 定义一个 ARR 类 的对象 用 b 及数组元素 个数初始化该对象 则经 删除后 a 数组的内容为 1 2 3 4 5 6 7 8 9 10 在 主函数中完成对该类的测 试 BC include class ARR private int n int a 100 public ARR int x int num void delsame void show ARR ARR int x int num n num for int i 0 i n i a i x i void ARR delsame int i j for i 0 i n i if a i a i 1 for j i j n j a j a j 1 i n void ARR show for int i 0 i n i cout a i t if i 1 5 0 cout n void main int b 16 1 2 2 3 4 4 5 6 6 7 8 8 8 9 10 10 ARR a1 b 16 a1 delsame a1 show 第第 3 章 章 C 面向对象程面向对象程 序设计进阶序设计进阶 1 下列叙述中不正确不正确的是 可以声明一个抽象类的对 象 DX 2 面向对象程序设计语言 具有的主要特征有 封装 性 继承性 多态性 MX 3 C 源程序中的 cin 是 预定义的对象 DX 4 不可进行运算符重载的 是 域运算符 DX 5 能被重载的运算符有 MX 6 不正确不正确的叙述是 虚函 数可以是友元函数 虚函 数可以是静态成员函数 MX 7 哪种函数可以是虚的 析构函数 DX 8 关于虚函数的说法中不不 正确正确的是 一个基类说明 中有纯虚函数 该基类的 派生类一定不再是抽象类 DX 9 虚函数的声明中正确的 是 class B virtual public A DX 10 虚函数的描述中不正 确的是虚函数是一个static 类型的成员函数 虚函数 是一个非成员函数 派生 类的虚函数与基类的虚函 数具有不同的参数个数和 类型 MX 11 要实现动态联编 必 须通过 对象指针 调用 虚函数 DX 12 多态性分为编译时的 多态性和 运行 时的多 态性 TK 13 关于运算符重载函数 的返回值类型的说法中不 正确的是 可以是 void 型 DX 14 将整型数 x y 中的 运 算符用友元函数重载应写 为 operator int x int y TK 15 关于插入运算符 的重载 正确的说 法是运算符函数的返回值 类型是 ostream 对该函数模板的使用正确 是 Sum 10 2 Sum 15 2f 16 0f Sum 5 0 6 7 MX 19 类模板的使用实际上 是将类模版实例化成一个 类 DX 20 有一种不能定义对象 的类 这样的类只能被继 承 称为 抽象类 TK 21 叙述不正确不正确的是 一 个基类说明中有纯虚函数 该基类的派生类一定不再 是抽象类 DX 学习好帮手 22 什么叫抽象类 如何 使用抽象类 JD 1 抽象类是指至少包含一 个纯虚函数的类 2 不能 声明抽象类的对象 抽象 类必须通过继承得到派生 类后 在派生类中定义了 纯虚函数的具体实现 才 能获得一个派生类的对象 23 一个类体中 正确的 纯虚函数的声明是 virtual void vf 0 DX 24 阅读程序 写出运行 结果 JD include class A public void func cout func in class A endl class B public virtual void func cout func in class B endl class C public A public B public void func cout func in class C endl void main C c A B C pa func pb func pc func 结果为 func in class A func in class C func in class C 25 阅读程序 写出运行 结果 JD include class base public void fun1 cout base fun1 endl virtual void fun2 cout base fun2 endl class derived public base public void fun1 cout derived fun1 endl void fun2 cout derived fun2 fun1 p fun2 结果为 base fun1 derived fun2 26 阅读程序 写出运行 结果 JD include class Base public Base virtual void f1 cout f1 of Base endl Base class Derived public Base public void f1 cout f1 of Derived f1 结果为 f1 of Derived 27 阅读程序 写出运行 结果 JD include class A protected int x public A x 1000 virtual void p1 cout x x n p2 virtual void p2 cout A p2 endl class C public A int z public C z 5000 void p1 cout z z n p2 virtual void p2 cout C p2 p1 pa pa p1 结果为 x 1000 A p2 Z 5000 C p2 28 阅读程序 写出运行 结果 JD include class test public virtual void fun1 cout test fun1 endl virtual void fun2 cout test fun2 endl void fun3 cout test fun3 endl class ftt public test public void fun1 cout ftt fun1 endl virtual void fun2 cout ftt fun2 endl virtual void fun3 cout ftt fun3 fun1 pp fun2 pp fun3 结果为 ftt fun1 ftt fun2 test fun3 29 通过重载运算符 直接实现两个一维数组对 学习好帮手 应元素的相乘运算 例如 设数组 a b 分别为 int a 5 1 2 3 4 5 int b 5 1 2 3 4 5 相乘后结果为 1 4 9 16 25 再通过重载运算符 实现两个一维数组的对应 元素相乘后赋值的运算 BC include include string h class Array private int v 5 public Array for i 0 i 5 i v i 0 Array int p for int i 0 i 5 i v i p Array operator Array t2 Array t1 for int i 0 i 5 i t1 v i t2 v i return t1 Array operator Array t2 for int i 0 i 5 i v i t2 v i return this void show for int i 0 i 5 i cout v i t void mian int a 5 1 2 3 4 5 int b 5 1 2 3 4 5 Array a1 a a2 b a3 a3 a1 a2 a3 show 30 定义一个分数类 Franc 数据成员 nume 分子 分母 deno 在主 函数中实现两个分数对象 的输入输出的重载 输出 格式如 2 3 BC include class Franc private int nume deno public Franc friend istream friend ostream return input friendostream cout f nume f deno fr cout fr 31 用来实现编译时多态 性的是 虚函数 DX 32 关于虚函数的描述中 正确的是基类中说明了虚 函数后 派生类中将其对 应的函数不必说明为虚函 数 DX 33 能实现从内存变量向 文件输出的成员函数是 put write MX 34 不能实例化为任何对 象 只作为基类被其它类 继承的类称为 抽象类 TK 35 作为类的成员函数重 载一个运算符时 参数表 中只有一个参数 则说明 该运算符有 2 个操作数 TK 36 给出类模板的语句格 式 并说明类模板的使用 方法 JD 1 类模板的语句格式 template class 类模板体定义 2 在类模板定义前和每 个外联成员函数模板前都 要加 template 原来程序中是类名的地方 都应用类名 外 部程序定义类模板对象时 要用具体类型参数来替换 模板参数 37 用友元函数重载运算 符时 遇到 obj1 obj2 被 C 编译器解释为 operator obj1 obj2 DX 38 能体现多态性的是 构造函数重载 运算符重 载 虚函数 纯虚函数 MX 39 创建一个文件输入流 对象 fin 同时该对象打开 文件 Test txt 用于输入 正确的声明语句是 ifstream fin Test txt TK 40 定义一分数类 Franc 数据成员分子 nume 分母 deno 实现 两个分数对象的加法与减 法的重载 include class Franc private int nume deno public Franc Franc int x int y if y 0 cerr 分母不能为零 endl exit 1 else nume x deno y void output cout nume 学习好帮手 deno endl friend Franc operator Franc t1 Franc t2 friend Franc operator Franc t1 Franc t2 Franc operator Franc t1 Franc t2 Franc t t nume t1 nume t2 deno t2 nume t1 deno t deno t1 deno t2 deno return t Franc operator Franc t1 Franc t2 Franc t t nume t1 nume t2 deno t2 nume t1 deno t deno t1 deno t2 deno return t void main Franc t1 5 6 t2 1 2 t3 t4 cout 分数为 t1 output cout 分数为 t2 output t3 t1 t2 cout 两 分相加为 t3 output t4 t1 t2 cout m pMainWnd CStatusBar pStatus if pStatus str For mat X d Y d point x point y pStatu s SetPaneText 1 str 4 将 MainFram h 文件中受保护变量 m wndStatusBar 变 成公有变量 5 在 MouseView cpp 增加 include头文 件 12 用于描述矩形的类是 CRect DX 13 使用 GetWindowDC 状态栏数组定义代码 static UNIT indicators ID SEPARATOR 学习好帮手 和 GetDC 获取的设备上 下文 在退出时必须调用 什么释放设备上下文 ReleaseDC DX 14 MFC 提供的集合类有 链表集合类 数组集合类 映射集合类 MX 15 MFC 提供的集合类有 三种 分别是 链表集合类 数组集合类 映射集合 类 TK 16 视图是 框架窗口 的子窗口 是用户与文档 之间的交互接口 TK 17 什么是文档序列化 写出文档序列化编程的步 骤 JD 1 文档序列化是将文档类 中的数据成员变量的值保 存在磁盘文件中 或者将 存储的文档文件中的数据 读取到相应的成员变量中 这个读写过程称为文档序 列化 2 文档序列化用文档类的 Serialize 函数实现 编程 步骤是 所定义的类必须 从 CObject 派生 添加 DECLARE SERIAL 宏 添加 IMPLEMENT SERIAL 宏 定义不带参数的构造函 数 编写 Serialize 函数 18 什么是文档序列化 简述其过程 JD 1 文档序列化是将 文档类中的数据成 员变量的值保存在 磁盘文件中 或者 将存在文档中数据 读到相应的成员中 这个过程称为文档 序列化 2 其过程是 首先 创建空文档 应用 程序类的 InitInstance 函数 调用了 AddDocTemplate 函 数后 通过 CWinApp 的另一成员函 OnFileNew 完成工作 其次是打开文档 通过 CWinApp 的另 一成员函 OnFileOpen 完成工 作 然后保存文档 通过 CWinApp 的另 一成员函 OnFileSave 完成工 作 最后关闭文档 通过判断 m bModifyied 值 是否执行成员函 OnFileSave 19 什么是静态切分窗口 和动态切分窗口 JD 1 静态切分窗口是指当窗 口第一次被创建 其窗格 就已经被切分好了 窗格 的次序和数目不再被改变 2 动态切分窗口是指允许 用户在任何时候对窗口进 行切分 20 体现文档视图相互作 用的成员函数有 CDocument UpdateAllVie
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- app同意协议书有效
- pcie协议书固态硬盘
- 波音737达成协议书
- 策略合作协议书
- 2025年RISC-V5G通信芯片架构考核试卷
- 安川编码器协议书
- 变更协议书承诺函
- 如何设置股东协议书
- 建筑节能检测抽样方法考核试卷
- 2025年农业数字化资格考试(农机数字化-远程运维管理系统)考核试卷
- 【山东卷】山东省济宁市、邹城市、聊城市2024-2025学年度2025届高三上学期期中教学质量检测考试(10.5-10.7)地理试卷
- 湖南省长沙市长郡集团联考2024-2025学年九年级上学期11月期中物理试题
- 2024年员工餐厅承包合同范本
- JJF(苏) 283-2024 暂态地电压法局部放电检测仪校准规范
- 2024-2025学年小学信息技术(信息科技)五年级全一册义务教育版(2024)教学设计合集
- 2024年秋新北师大版八年级上册物理 3.4声波的应用 教学课件
- 2024年部编版新教材语文小学一年级第一学期期中考试题及答案(二)
- 运输系统规划与设计 课件 第六章 客运枢纽系统规划与设计
- 2024年山东省临沂市兰山区九年级下学期一模英语试卷
- 贯彻新发展理念高中政治统编版必修二经济与社会
- 歌尔社招人才测评试卷
评论
0/150
提交评论