C++面试题目.pdf
《C++面试题目.pdf》由会员分享,可在线阅读,更多相关《C++面试题目.pdf(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.面 向 对 象 的 程 序 设 计 思 想 是 什 么?答:把 数 据 结 构 和 对 数 据 结 构 进 行 操 作 的 方 法 封 装 形 成 一 个 个 的 对 象。2 什 么 是 类?室 把 一 些 具 有 共 性 的 对 象 归 类 后 形 成 一 个 集 合,也 就 是 所 谓 的 类。3.对 象 都 具 有 的 二 方 面 特 征 是 什 么?分 别 是 什 么 含 义?答:对 象 都 具 有 的 特 征 是:静 态 特 征 和 动 态 特 征。静 态 特 征 是 指 能 描 述 对 象 的 些 属 性,动 态 特 征 是 指 对 象 表 现 出 来 的 行 为 4.在 头
2、文 件 中 进 行 类 的 声 明,在 对 应 的 实 现 文 件 中 进 行 类 的 定 义 有 什 么 意 义?答:这 样 可 以 提 高 编 译 效 率,因 为 分 开 的 话 只 需 要 编 译 一 次 生 成 对 应 的.o b j文 件 后,再 次 应 用 该 类 的 地 方,这 个 类 就 不 会 被 再 次 编 译,从 而 大 大 提 高 了 效 率。5.在 类 的 内 部 定 义 成 员 函 数 的 函 数 体,这 种 函 数 会 具 备 那 种 属 性?答:这 种 函 数 会 自 动 为 内 联 函 数,这 种 函 数 在 函 数 调 用 的 地 方 在 编 译 阶 段 都
3、 会 进 行 代 码 替 换。6.成 员 函 数 通 过 什 么 来 区 分 不 同 对 象 的 成 员 数 据?为 什 么 它 能 够 区 分?答:通 过 t h i s指 针 来 区 分 的,因 为 它 指 向 的 是 对 象 的 首 地 址。7.C+编 译 器 自 动 为 类 产 生 的 四 个 缺 省 函 数 是 什 么?答:默 认 构 造 函 数,拷 贝 构 造 函 数,析 构 函 数,赋 值 函 数。8.拷 贝 构 造 函 数 在 哪 几 种 情 况 下 会 被 调 用?答.i.年 类 的 一 个 对 象 去 初 始 化 该 类 的 另 一 个 对 象 时:2.如 果 函 数 的
4、形 参 是 类 的 对 象,调 用 函 数 进 行 形 参 和 实 参 结 合 时;3.如 果 函 数 的 返 回 值 是 类 对 象,函 数 调 用 完 成 返 回 时。9.构 造 函 数 与 普 通 函 数 相 比 在 形 式 上 有 什 么 不 同?(构 造 函 数 的 作 用,它 的 声 明 形 式 来 分 析)答:构 造 函 数 是 类 的 一 种 特 殊 成 员 函 数,一 般 情 况 下,它 是 专 门 用 来 初 始 化 对 象 成 员 变 量 的。构 造 函 数 的 名 字 必 须 与 类 名 相 同,它 不 具 有 任 何 类 型,不 返 回 任 何 值。10.什 么 时
5、候 必 须 重 写 拷 贝 构 造 函 数?答:当 构 造 函 数 涉 及 到 动 态 存 储 分 配 空 间 时,要 自 己 写 拷 贝 构 造 函 数,并 且 要 深 拷 贝。11.构 造 函 数 的 调 用 顺 序 是 什 么?答:1.先 调 用 基 类 构 造 函 数 2.按 声 明 顺 序 初 始 化 数 据 成 员 3.最 后 调 用 自 己 的 构 造 函 数。12.咖 儿 种 情 况 必 须 用 到 初 始 化 成 员 列 表?答:类 的 成 员 是 常 量 成 员 初 始 化;类 的 成 员 是 对 象 成 员 初 始 化,而 该 对 象 没 有 无 参 构 造 函 数。类
6、的 成 员 为 引 用 时。13 什 么 是 常 对 象?答;常 病 象 是 指 在 在 何 场 合 都 不 能 对 其 成 员 的 值 进 行 修 改 的 对 象。14.静 态 函 数 存 在 的 意 义?答:静 态 私 有 成 员 在 类 外 不 能 被 访 问,可 通 过 类 的 静 态 成 员 函 数 来 访 问;当 类 的 构 造 函 数 是 私 有 的 时,不 像 普 通 类 那 样 实 例 化 自 己,只 能 通 过 静 态 成 员 函 数 来 调 用 构 造 函 数。15.在 类 外 有 什 么 办 法 可 以 访 问 类 的 非 公 有 成 员?答:友 元,继 承,公 有 成
7、 员 函 数。16.什 么 叫 抽 象 类?答:不 用 来 定 义 对 象 而 只 作 为 一 种 基 本 类 型 用 作 继 承 的 类。17.运 算 符 重 载 的 意 义?答:为 了 对 用 户 自 定 义 数 据 类 型 的 数 据 的 操 作 与 内 定 义 的 数 据 类 型 的 数 据 的 操 作 形 式 一 致。18.不 允 许 重 载 的 5 个 运 算 符 是 哪 些?答.f.(成 员 指 针 访 问 运 算 符 号)2.:域 运 算 符 3.S i z e o f长 度 运 算 符 号 4.?:条 件 运 算 符 号 5.(成 员 访 问 符)19.运 算 符 重 载 的
8、 三 种 方 式?答:普 通 函 数,友 元 函 数,类 成 员 函 数。20.流 运 算 符 为 什 么 不 能 通 过 类 的 成 员 函 数 重 载?一 般 怎 么 解 决?答:因 为 通 过 类 的 成 员 函 数 重 载 必 须 是 运 算 符 的 第 个 是 自 己,而 对 流 运 算 的 重 载 要 求 第 一 个 参 数 是 流 对 象。一 般 通 过 友 元 来 解 决。21.赋 值 运 算 符 和 拷 贝 构 造 函 数 的 区 别 与 联 系?答:相 同 点:源 是 将 一 个 对 象 copy到 另 一 个 由 去。不 同 点:拷 贝 构 造 函 数 涉 及 到 要 新
9、 建 立 一 个 对 象。22.在 哪 种 情 况 下 要 调 用 该 类 的 析 构 函 数?答:对 象 生 命 周 期 结 束 时。23.对 象 间 是 怎 样 实 现 数 据 的 共 享 的?答:通 过 类 的 静 态 成 员 变 量 来 实 现 的。静 态 成 员 变 量 占 有 自 己 独 立 的 空 间 不 为 某 个 对 象 所 私 有。24.友 元 关 系 有 什 么 特 性?答:单 向 的,非 传 递 的,不 能 继 承 的。25.对 对 象 成 员 进 行 初 始 化 的 次 序 是 什 么?答:它 的 次 序 完 全 不 受 它 们 在 初 始 化 表 中 次 序 的 影
10、 响,只 有 成 员 对 象 在 类 中 声 明 的 次 序 来 决 定 的。26.类 和 对 象 之 间 的 关 系 是 什 么?答:类 是 对 象 的 抽 象,对 象 是 类 的 实 例。27.对 类 的 成 员 的 访 问 属 性 有 什 么?答:public,protected,private。28.const char*p,char*const p;的 区 别 如 果 const位 于 星 号 的 左 侧,则 const就 是 用 来 修 饰 指 针 所 指 向 的 变 量,即 指 针 指 向 为 常 量;如 果 const位 于 星 号 的 右 侧,const就 是 修 饰 指 针
11、 本 身,即 指 针 本 身 是 常 量。29.是 不 是 个 父 类 写 了 一 个 virtual函 数,如 果 子 类 覆 盖 它 的 函 数 不 加 virtual,也 能 实 现 多 态?virtual修 饰 符 会 被 隐 形 继 承 的。virtual可 加 可 不 加,子 类 覆 盖 它 的 函 数 不 加 virtual,也 能 实 现 多 态。30.函 数 重 载 是 什 么 意 思?它 与 虚 函 数 的 概 念 有 什 么 区 别?函 数 重 载 是 个 同 名 函 数 完 成 不 同 的 功 能,编 译 系 统 在 编 译 阶 段 通 过 函 数 参 数 个 数、参
12、数 类 型 不 同,函 数 的 返 回 值 来 区 分 该 调 用 哪 一 个 函 数,即 实 现 的 是 静 态 的 多 态 性。但 是 记 住:不 能 仅 仅 通 过 函 数 返 回 值 不 同 来 实 现 函 数 重 载。而 虚 函 数 实 现 的 是 在 基 类 中 通 过 使 用 关 键 字 virtual来 申 明 一 个 函 数 为 虚 函 数,含 义 就 是 该 函 数 的 功 能 可 能 在 将 来 的 派 生 类 中 定 义 或 者 在 基 类 的 基 础 之 上 进 行 扩 展,系 统 只 能 在 运 行 阶 段 才 能 动 态 决 定 该 调 用 哪 一 个 函 数,所
13、 以 实 现 的 是 动 态 的 多 态 性。它 体 现 的 是 一 个 纵 向 的 概 念,也 即 在 基 类 和 派 生 类 间 实 现。31.构 造 函 数 和 析 构 函 数 是 否 可 以 被 重 载,为 什 么?答:构 造 函 数 可 以 被 重 载,析 构 函 数 不 可 以 被 重 载。因 为 构 造 函 数 可 以 有 多 个 且 可 以 带 参 数,而 析 构 函 数 只 能 有 一 个,且 不 能 带 参 数。32.如 何 定 义 和 实 现 个 类 的 成 员 函 数 为 回 调 函 数?答.所 i胃 的 回 调 函 数,就 是 预 先 在 系 统 的 对 函 数 进
14、行 注 册,让 系 统 知 道 这 个 函 数 的 存 在,以 后,当 某 个 事 件 发 生 时,再 调 用 这 个 函 数 对 事 件 进 行 响 应。定 义 一 个 类 的 成 员 函 数 时 在 该 函 数 前 加 CALLBACK即 将 其 定 义 为 回 调 函 数,函 数 的 实 现 和 普 通 成 员 函 数 没 有 区 别 33.虚 函 数 是 怎 么 实 现 的?答:简 单 说 来 使 用 了 虚 函 数 表.34.抽 象 类 不 会 产 生 实 例,所 以 不 需 要 有 构 造 函 数。错 35.从 个 模 板 类 可 以 派 生 新 的 模 板 类,也 可 以 派 生
15、 非 模 板 类。对 36.main函 数 执 行 以 前,还 会 执 行 什 么 代 码?答 案:全 局 对 象 的 构 造 函 数 会 在 main函 数 之 前 执 行。37.当 一 个 类 A 中 没 有 生 命 任 何 成 员 变 量 与 成 员 函 数,这 时 sizeof(A)的 值 是 多 少,如 果 不 是 零,请 解 释 一 下 编 译 器 为 什 么 没 有 让 它 为 零。(Autodesk)答 案:肯 定 不 是 零。举 个 反 例,如 果 是 零 的 话,声 明 一 个 class A10对 象 数 组,而 每 一 个 对 象 占 用 的 空 间 是 零,这 时 就
16、 没 办 法 区 分 A0,Al了。38.delete 与 delete 区 别:delete只 会 i商 用 一 次 析 初 函 数,而 delete会 调 用 每 一 个 成 员 的 析 构 函 数。199.子 类 析 构 时 要 调 用 父 类 的 析 构 函 数 吗?会 调 用,析 构 函 数 调 用 的 次 序 是 先 派 生 类 的 析 构 后 基 类 的 析 构,也 就 是 说 在 基 类 的 的 析 构 调 用 的 时 候,派 生 类 的 信 息 已 经 全 部 销 毁 了 40.继 承 优 缺 点。1、类 继 承 是 在 编 译 时 刻 静 态 定 义 的,且 可 直 接 使
17、 用,2、类 继 承 可 以 较 方 便 地 改 变 父 类 的 实 现。缺 占.1、茵 为 继 承 在 编 译 时 刻 就 定 义 了,所 以 无 法 在 运 行 时 刻 改 变 从 父 类 继 承 的 实 现 2、父 类 通 常 至 少 定 义 了 子 类 的 部 分 行 为,父 类 的 任 何 改 变 都 可 能 影 响 子 类 的 行 为 3、如 果 继 承 下 来 的 实 现 不 适 合 解 决 新 的 问 题,则 父 类 必 须 重 写 或 被 其 他 更 适 合 的 类 替 换。这 种 依 赖 关 系 限 制 了 灵 活 性 并 最 终 限 制 了 复 用 性。41.解 释 堆
18、和 栈 的 区 别。栈 区(stack)-由 编 译 器 自 动 分 配 释 放,存 放 函 数 的 参 数 值,局 部 变 量 的 值 等。堆:一 般 由 程 序 员 分 配 释 放,若 程 序 员 不 释 放,程 序 结 束 时 可 能 由 OS回 收。42.一 个 类 的 构 造 函 数 和 析 构 函 数 什 么 时 候 被 调 用,是 否 需 要 手 工 调 用?答:构 造 函 数 在 创 建 类 对 象 的 时 候 被 自 动 调 用,析 构 函 数 在 类 对 象 生 命 期 结 束 时,由 系 统 自 动 调 用。43.何 时 需 要 预 编 译:总 是 使 用 不 经 常 改
19、 动 的 大 型 代 码 体。程 序 由 多 个 模 块 组 成,所 有 模 块 都 使 用 组 标 准 的 包 含 文 件 和 相 同 的 编 译 选 项。在 这 种 情 况 下,可 以 将 所 有 包 含 文 件 预 编 译 为 个 预 编 译 头。44.多 态 的 作 用?主 要 是 两 个:1.隐 藏 实 现 细 节,使 得 代 码 能 够 模 块 化;扩 展 代 码 模 块,实 现 代 码 重 用;2.接 口 重 用:为 了 类 在 继 承 和 派 生 的 时 候,保 证 使 用 家 族 中 任 类 的 实 例 的 某 一 属 性 时 的 正 确 调 用 45.虚 拟 函 数 与 普
20、 通 成 员 函 数 的 区 别?内 联 函 数 和 构 造 函 数 能 否 为 虚 拟 函 数?答 案:区 别:虚 拟 函 数 有 virtual关 键 字,有 虚 拟 指 针 和 虚 函 数 表,虚 拟 指 针 就 是 虚 拟 函 数 的 接 口,而 普 通 成 员 函 数 没 有。内 联 函 数 和 构 造 函 数 不 能 为 虚 拟 函 数。46.构 造 函 数 和 析 构 函 数 的 调 用 顺 序?析 构 函 数 为 什 么 要 虚 拟?答 案:构 造 函 数 的 调 用 顺 序:基 类 构 造 函 数 一 对 象 成 员 构 造 函 数 一 派 生 类 构 造 函 数;析 构 函
21、 数 的 调 用 顺 序 与 构 造 函 数 相 反。析 构 函 数 虚 拟 是 为 了 防 止 析 构 不 彻 底,造 成 内 存 的 泄 漏。47.C+中 类 型 为 private的 成 员 变 量 可 以 由 哪 些 函 数 访 问?只 可 以 由 本 类 中 的 成 员 函 数 和 友 员 函 数 访 问 48.请 说 由 类 中 private,protect,public三 种 访 问 限 制 类 型 的 区 别 private是 私 有 类 型,只 有 本 类 中 的 成 员 函 数 访 问;protect是 保 护 型 的,本 类 和 继 承 类 可 以 访 问;public
22、是 公 有 类 型,任 何 类 都 可 以 访 问.49.类 中 成 员 变 量 怎 么 进 行 初 始 化?uj以 通 过 构 造 函 数 的 初 始 化 列 表 或 构 造 函 数 的 函 数 体 实 现。50.在 什 么 时 候 需 要 使 用“常 引 用”?如 果 既 要 利 用 引 用 提 高 程 序 的 效 率,又 要 保 护 传 递 给 函 数 的 数 据 不 在 函 数 中 被 改 变,就 应 使 用 常 弓 i用 51.引 用 身 指 针 有 什 么 区 别?答、1)引 用 必 须 被 初 始 化,指 针 不 必。2)引 用 初 始 化 以 后 不 能 被 改 变,指 针 可
23、 以 改 变 所 指 的 对 象。3)不 存 在 指 向 空 值 的 引 用,但 是 存 在 指 向 空 值 的 指 针。52.描 述 实 时 系 统 的 基 本 特 性 53.答、在 特 定 时 间 内 完 成 特 定 的 任 务,实 时 性 与 可 靠 性。54.全 局 变 量 和 局 部 变 量 在 内 存 中 是 否 有 区 别?如 果 有,是 什 么 区 别?答、全 局 变 量 储 存 在 静 态 数 据 区,局 部 变 量 在 堆 栈 中。55.堆 栈 溢 出 一 般 是 由 什 么 原 因 导 致 的?答、没 有 回 收 垃 圾 资 源 56.什 么 函 数 不 能 声 明 为
24、虚 函 数?答 构 造 函 数(constructor)57.IP地 址 的 编 码 分 为 哪 俩 部 分?答 IP地 址 由 两 部 分 组 成,网 络 号 和 主 机 号。58.不 能 做 switch。的 参 数 类 型 是:答、switch的 参 数 不 能 为 实 型。59.如 何 引 用 一 个 已 经 定 义 过 的 全 局 变 量?答、可 以 用 引 用 头 文 件 的 方 式,也 可 以 用 extern关 键 字,如 果 用 引 用 头 文 件 方 式 来 引 用 某 个 在 头 文 件 中 声 明 的 全 局 变 理,假 定 你 将 那 个 变 写 错 了,那 么 在
25、编 译 期 间 会 报 错,如 果 你 用 extern方 式 引 用 时,假 定 你 犯 了 同 样 的 错 误,那 么 在 编 译 期 间 不 会 报 错,而 在 连 接 期 间 报 错 60.对 于 一 个 频 繁 使 用 的 短 小 函 数,在 C 语 言 中 应 用 什 么 实 现,在 C+中 应 用 什 么 实 现?答、c 用 宏 定 义,C+用 inlineNm61.C+是 不 是 类 型 安 全 的?答 案:不 是。两 个 不 同 类 型 的 指 针 之 间 可 以 强 制 转 换(用 reinterpret cast)62.当 一 个 类 A 中 没 有 生 命 任 何 成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 面试 题目
限制150内