面 向 对 象 程 序 设 计 及 C++ 课 程 实 验 教 学 大 纲 课 程 编 号 : B030001S 课 程 名 称 : 面 向 对 象 程 序 设 计 及 C++ 课 内 总 学 时 : 3 上 机 实 验 学 时 : 8 一 实 验 课 程 的 性 质 目 的 和 任 务 性 质 : 本 实 验 课 程 是 本 科 理 工 科 各 专 业 学 生 的 通 识 基 础 课, 该 实 验 是 理 论 课 程 的 课 内 上 机 实 验 环 节, 这 一 环 节 对 于 整 个 课 程 的 学 习 至 关 重 要 目 的 : 使 学 生 通 过 上 机 实 验 更 好 地 理 解 理 论 课 所 授 知 识, 培 养 学 生 运 用 C++ 语 言 进 行 基 本 的 面 向 对 象 的 程 序 设 计 对 学 生 在 编 程 风 格 面 向 对 象 程 序 设 计 方 法 等 方 面 进 行 系 统 的 训 练 任 务 : 利 用 一 种 集 成 开 发 环 境 中 的 相 应 工 具 对 C++ 语 言 源 程 序 进 行 查 错 改 错 调 试 和 运 行 测 试, 完 成 类 和 对 象 的 定 义 继 承 多 态 流 运 算 符 重 载 及 文 件 操 作 等 实 验 二 实 验 内 容 学 时 分 配 及 基 本 要 求 序 号 实 验 项 目 名 称 学 时 实 验 内 容 及 要 求 开 出 组 数 每 组 人 数 实 验 类 型 选 做 必 做 备 注 内 容 : 1. 定 义 一 个 时 间 类 Time, 有 3 个 私 有 成 员 变 量 Hour Minute Second, 定 义 构 造 函 数 析 构 函 数 以 及 用 于 改 变 获 取 输 出 时 间 信 息 的 公 有 函 数, 主 函 数 中 定 义 时 间 对 象, 并 通 过 调 用 各 种 成 员 函 数 完 成 时 间 的 设 定 改 变 获 取 输 出 等 功 能. 定 义 一 个 Girl 类 和 一 个 Boy 类, 这 两 个 类 中 都 有 表 示 姓 名 年 类 和 对 象 龄 的 私 有 成 员 变 量, 都 要 定 义 构 造 1 的 定 义 及 函 数 析 构 函 数 输 出 成 员 变 量 信 150 1 验 证 使 用 息 的 公 有 成 员 函 数 (1) 根 据 要 求 定 义 相 应 的 类 () 将 Girl 类 作 为 Boy 类 的 友 元 类, 在 Girl 类 的 成 员 函 数 VisitBoy(Boy & ) 中 访 问 Boy 类 的 私 有 成 员, 观 察 程 序 运 行 结 果 (3) 在 Boy 类 的 某 成 员 函 数 VisitGirl(Girl & ) 中 试 图 访 问 Girl 类 的 私 有 成 员, 观 察 编 译 器 给 出 的 错 误 信 息, 理 解 原 因 (4) 主 函 数 中 正 确 定 义 两 个 类 的 对 象, 调 用 各 自 的 成 员 函 数 实 现 1
相 应 功 能 (5) 再 将 Boy 类 作 为 Girl 类 的 友 元 类, 在 Boy 类 的 某 成 员 函 数 VisitGirl(Girl & ) 中 访 问 Girl 类 的 私 有 成 员, 观 察 编 译 器 给 出 的 信 息 ( 6 ) 删 除 两 个 类 中 的 函 数 VisitGirl(Girl & ), VisitBoy(Boy & ), 定 义 一 个 顶 层 函 数 VisitBoyGirl(Boy &, Girl &), 作 为 以 上 两 个 类 的 友 元, 通 过 调 用 该 函 数 输 出 男 孩 和 女 孩 的 信 息 要 求 : 1. 掌 握 类 和 对 象 的 定 义 与 使 用 方 法, 理 解 类 的 不 同 属 性 成 员 的 访 问 特 性, 掌 握 构 造 函 数 与 析 构 函 数 的 执 行 过 程. 掌 握 友 元 的 类 和 友 元 函 数 的 定 义 和 使 用 内 容 : 1. 定 义 一 个 车 基 类, 派 生 出 自 行 车 类 和 汽 车 类, 又 以 自 行 车 类 和 汽 车 类 为 基 类 共 同 派 生 出 摩 托 车 类, 每 个 类 都 要 定 义 带 有 参 数 的 构 造 函 数 对 自 行 车 类 继 承 车 基 类 的 方 式 分 别 用 private protected public, 观 察 基 类 成 员 在 派 生 类 中 的 访 问 属 性 ; 观 察 自 行 车 类 汽 车 类 和 摩 托 车 类 对 象 定 义 时 构 造 析 构 函 数 的 调 用 顺 序 最 后 将 车 基 类 定 继 承 与 派 生 实 验 义 为 虚 基 类 再 观 察 程 序 运 行 结 果, 根 据 实 验 指 导 中 的 具 体 要 求 实 现 程 序 150 1 验 证. 定 义 Base 类 及 它 的 公 有 派 生 类 Derived 类, 两 个 类 中 均 定 义 带 参 数 的 构 造 函 数, 基 类 中 定 义 函 数 Show( ), 派 生 类 中 也 定 义 一 个 同 名 的 Show( ), 二 者 输 出 内 容 有 所 区 别 主 函 数 中 定 义 基 类 的 对 象 指 针 引 用, 也 定 义 派 生 类 的 对 象 对 赋 值 兼 容 的 4 种 情 况 作 测 试, 并 通 过 增 加 一 些 语 句 编 译 验 证 赋 值 兼 容 的 不 可 逆 性 要 求 :
3 4 多 态 性 实 验 流 运 算 符 的 重 载 及 文 件 的 使 用 掌 握 单 继 承 和 多 重 继 承 下 派 生 类 的 定 义 方 法, 理 解 基 类 成 员 在 不 同 的 继 承 方 式 下 不 同 的 访 问 属 性 正 确 定 义 派 生 类 的 构 造 函 数 与 析 构 函 数, 理 解 定 义 一 个 派 生 类 对 象 时 各 个 构 造 函 数 析 构 函 数 被 调 用 的 顺 序 正 确 定 义 虚 基 类, 消 除 在 多 层 次 多 重 继 承 方 式 下 顶 层 基 类 中 成 员 访 问 的 二 义 性 问 题, 关 注 此 时 各 构 造 函 数 析 构 函 数 的 调 用 顺 序 通 过 基 类 与 公 有 派 生 类 的 定 义, 及 基 类 对 象 指 针 引 用 与 派 生 类 的 对 象 地 址 间 相 互 赋 值 的 方 法, 正 确 理 解 赋 值 兼 容 的 4 种 情 况, 通 过 程 序 理 解 其 不 可 逆 性 参 见 综 合 性 实 验 教 学 大 纲 150 1 综 合 内 容 : 1. 在 上 一 次 实 验 题 的 基 础 上, 在 复 数 类 中 增 加 输 入 流 运 算 符 >> 和 输 出 流 运 算 符 << 的 重 载, 主 函 数 通 过 cin>> 对 象 名 输 入 对 象 的 值, 通 过 cout<< 对 象 名 输 出 对 象 的 值 ; 再 在 上 一 步 完 成 的 基 础 上, 将 复 数 类 改 成 一 个 类 模 板, 只 设 一 个 模 板 参 数, 即 实 部 和 虚 部 用 同 一 种 类 型, 修 改 相 应 的 代 码, 完 成 输 入 输 出 功 能. 事 先 用 Windows 的 记 事 本 建 立 一 个 文 本 文 件 ff.txt 主 函 数 中 调 用 以 下 两 个 函 数 完 成 相 应 的 功 150 1 验 证 能 ( 1 ) 编 写 一 个 函 数 void ReadFile(char* s) 实 现 读 取 以 s 串 为 文 件 名 的 文 本 文 件 的 内 容 在 屏 幕 上 显 示 ( ) 编 写 一 个 函 数 void Change(char *s1,char *s) 将 文 本 文 件 中 的 小 写 字 母 全 部 改 写 成 大 写 字 母 生 成 一 个 新 文 件 ff.txt 要 求 : 掌 握 在 自 定 义 的 类 中 重 载 输 入 流 运 算 符 >> 和 输 出 流 运 算 符 <<, 并 输 入 / 输 出 本 类 对 象 ; 掌 握 文 件 操 作 3
的 步 骤 和 方 法, 能 利 用 程 序 建 立 数 据 文 件 打 开 数 据 文 件 并 进 行 相 关 操 作 三 考 核 及 实 验 报 告 ( 一 ) 考 核 本 课 程 实 验 非 独 立 设 课, 是 面 向 对 象 程 序 设 计 及 C++ 课 程 的 实 践 性 环 节 平 时 成 绩 占 课 程 总 成 绩 的 30%, 实 验 成 绩 作 为 整 门 课 程 平 时 成 绩 的 40% 记 入 实 验 成 绩 的 考 核 从 学 生 的 上 机 出 勤 实 验 准 备 上 机 表 现 程 序 的 编 写 和 运 行 情 况 实 验 报 告 完 成 情 况 等 几 个 方 面 综 合 衡 量 ( 二 ) 实 验 报 告 实 验 报 告 的 内 容 : 实 验 名 称 实 验 目 的 实 验 内 容 实 验 环 境 和 实 验 过 程 实 验 的 每 一 个 题 目, 根 据 需 要, 给 出 类 图 主 要 算 法 的 流 程 图 或 NS 图 源 程 序 代 码 测 试 数 据 运 行 结 果 及 分 析 中 的 几 项 内 容 实 验 报 告 的 要 求 : 实 验 报 告 以 文 本 形 式 或 电 子 文 档 形 式 提 交, 要 求 书 写 规 范 文 字 简 练 语 句 通 顺 图 表 清 晰 四 主 要 仪 器 设 备 硬 件 : 微 型 计 算 机 软 件 :Visual C++ 6.0( 也 可 以 是 其 他 集 成 开 发 环 境 ) 五 教 材 及 参 考 书 教 材 : [1] 朱 立 华, 朱 建, 俞 琼. 面 向 对 象 程 序 设 计 及 C++. 北 京 : 人 民 邮 电 出 版 社,008 [] 朱 立 华, 俞 琼, 朱 建. 面 向 对 象 程 序 设 计 及 C++ 实 验 指 导. 北 京 : 人 民 邮 电 出 版 社, 008 参 考 书 : [1] 秦 军.C++ 语 言 学 习 与 实 验 指 导. 南 京 : 河 海 大 学 出 版 社,006 [] 钱 能.C++ 程 序 设 计 教 程 ( 第 二 版 ). 北 京 : 清 华 大 学 出 版 社,005 [3] [ 美 ] Stephen Prata 著, 孙 建 春, 韦 强 译.C++ Primer Plus( 第 四 版 中 文 版 ). 北 京 : 人 民 邮 电 出 版 社,005 4
综 合 性 实 验 教 学 大 纲 课 程 编 号 :B030001S 实 验 课 程 名 称 : 面 向 对 象 程 序 设 计 及 C++ 实 验 项 目 名 称 : 多 态 性 实 验 实 验 类 型 : 综 合 性 实 验 实 验 类 别 : 基 础 专 业 基 础 专 业 实 验 学 时 : 所 涉 及 的 课 程 及 知 识 点 : 涉 及 课 程 : 面 向 对 象 程 序 设 计 及 C++ 涉 及 知 识 点 :1. 类 与 对 象 的 定 义 及 使 用. 构 造 函 数 与 析 构 函 数 的 定 义 及 自 动 调 用 3. 类 的 继 承 与 派 生 4. 通 过 函 数 重 载 及 运 算 符 重 载 实 现 静 态 多 态 性, 通 过 继 承 虚 函 数 抽 象 类 的 指 针 或 引 用 等 实 现 动 态 多 态 性 一 实 验 目 的 1. 进 一 步 熟 悉 类 的 设 计 运 用 继 承 与 派 生 机 制 设 计 派 生 类, 合 理 定 义 数 据 成 员 和 成 员 函 数. 掌 握 双 目 运 算 符 单 目 运 算 符 的 重 载 方 法, 对 常 用 算 术 运 算 符 能 在 自 定 义 类 中 通 过 友 元 函 数 成 员 函 数 进 行 重 载, 以 实 现 静 态 多 态 性 3. 掌 握 通 过 继 承 虚 函 数 基 类 的 指 针 或 引 用 实 现 动 态 多 态 性 的 方 法 4. 理 解 并 掌 握 有 纯 虚 函 数 的 抽 象 类 的 作 用, 在 各 派 生 类 中 重 新 定 义 各 纯 虚 函 数 的 方 法, 以 及 此 时 实 现 的 动 态 多 态 性 二 实 验 内 容 1. 定 义 一 个 抽 象 类 容 器 类, 其 中 定 义 了 若 干 纯 虚 函 数, 实 现 求 表 面 积 体 积 输 出 等 功 能 由 此 抽 象 类 派 生 出 正 方 体 球 体 和 圆 柱 体 等 多 个 派 生 类, 根 据 需 要 定 义 自 己 的 成 员 变 量, 在 各 个 派 生 类 中 重 新 定 义 各 纯 虚 函 数, 实 现 本 类 中 相 应 功 能, 各 个 类 成 员 的 初 始 化 均 由 本 类 构 造 函 数 实 现 (1) 在 主 函 数 中, 定 义 容 器 类 的 指 针 和 各 个 派 生 类 的 对 象, 使 指 针 指 向 不 同 对 象 时 调 用 相 同 的 函 数 能 执 行 不 同 的 函 数 代 码, 从 而 实 现 动 态 多 态 性 () 定 义 一 个 顶 层 函 数 void TopPrint(Container &r); 使 得 主 函 数 中 调 用 该 函 数 时, 根 据 实 在 参 数 所 属 的 类 自 动 调 用 对 应 类 的 输 出 函 数. 定 义 复 数 类 Complex, 有 实 部 虚 部 两 个 私 有 成 员 变 量, 在 该 类 中 定 义 多 个 重 载 的 构 造 函 数 定 义 析 构 函 数 和 输 出 函 数 print, 复 数 的 输 出 形 如 1-3i, 在 类 中 重 载 + - * / ++( 分 前 ++ 和 后 ++) 在 主 函 数 中 定 义 复 数 类 的 对 象, 实 现 复 数 的 各 种 算 术 运 算, 通 过 重 载 实 现 静 态 多 态 性 三 实 验 仪 器 设 备 和 材 料 清 单 硬 件 : 微 型 计 算 机 软 件 :Microsoft Visual C++6.0( 也 可 以 是 其 他 集 成 开 发 环 境 ) 四 实 验 要 求 1. 认 真 复 习 书 本 中 所 有 已 讲 授 内 容, 熟 练 掌 握 类 与 对 象 的 定 义 构 造 函 数 与 析 构 函 数 的 定 义 及 调 用 利 用 继 承 与 派 生 机 制 生 成 新 类 运 算 符 的 重 载 及 隐 式 调 用 通 过 虚 基 类 及 基 类 的 指 针 与 引 用 实 现 动 态 多 态 性 等 多 种 方 法. 根 据 实 验 内 容, 合 理 设 计 各 个 类, 正 确 实 现 各 个 成 员 函 数, 提 前 书 写 源 代 码, 上 机 时 直 接 输 入 3. 回 顾 前 面 实 验 中 关 于 调 试 器 使 用 的 相 关 内 容, 在 本 次 实 验 中 将 需 要 用 调 试 器 来 解 决 5
程 序 中 出 现 的 一 些 问 题 4. 综 合 运 用 面 向 对 象 的 程 序 设 计 方 法, 将 类 与 对 象 继 承 与 派 生 多 态 性 等 知 识 融 会 贯 通 运 用 到 本 实 验 中 来 5. 认 真 完 成 实 验 报 告 五 实 验 报 告 要 求 1. 写 出 源 程 序 的 完 整 代 码, 并 对 关 键 语 句, 函 数 原 型 等 作 注 释. 回 答 每 一 题 中 所 提 出 的 问 题, 并 记 录 要 求 的 编 译 提 示 等 信 息 3. 写 出 测 试 数 据 及 运 行 结 果 4. 回 答 思 考 题 5. 认 真 地 对 本 次 实 验 情 况 进 行 小 结 6. 实 验 报 告 以 文 本 形 式 或 电 子 文 档 形 式 提 交, 要 求 书 写 规 范 文 字 简 练 语 句 通 顺 图 表 清 晰 六 思 考 题 1. 通 过 实 验, 总 结 静 态 多 态 性 与 动 态 多 态 性 实 现 的 不 同 方 法. 重 载 覆 盖 虚 函 数 之 间 的 区 别 是 什 么? 执 笔 人 : 朱 立 华 审 核 人 : 俞 琼 实 验 院 长 : 章 韵 6