C++ 期末救命讲义 按样题考点整理
🧃 考前先拿操作步骤

01 考前必备:看到题,手先动起来

这一页不讲大道理。它只回答一个问题:卷子发下来后,我第一眼该圈什么、第二步该写什么、卡住了该怎么救。

输出题

一、运行结果题:先在代码旁边打标记

1

先找 main(),别从 class 开始硬读

类定义像演员名单,真正演出从 main() 开始。先看谁被创建、谁被调用、谁被 delete。

2

看到对象声明,就在旁边写“出生”

比如 Dog d;。如果 Dog 继承 Animal,就先写父类输出,再写子类输出:先父后子。

3

看到 =,马上问:这是造新对象还是给旧对象赋值?

Animal a = d; 是“用 d 造一个新 a”,走拷贝构造;不是普通赋值。派生类塞进基类对象,还会对象切片。

4

看到函数参数,先看有没有 &

& 通常不拷贝,像给原对象起外号;没有 &,按值传参,可能多一次拷贝构造。

5

看到函数调用,先看前面有没有 virtual

虚函数看真实对象,非虚函数看声明类型。简单记:虚函数看“身份证”,非虚函数看“工作牌”。

6

最后统一处理析构:函数结束、main 结束、delete

局部变量退场是倒序;继承析构是先子后父。别一边读一边乱写,最后集中收尾更不容易漏。

考场动作 输出题不是“看懂整份代码再写答案”。是先把每个会输出的点圈出来,然后按时间顺序排队。
第7-33题

二、选择题:先找关键词,再排除废话

做选择题时脑子里这样念 题目问“哪个正确”,先圈关键词;题目问“哪个不能”,先找特殊例外。不要一上来读四个选项读到失忆。
题号 看到关键词 立刻想什么 答案
第7题 构造函数 / 什么时候调用 对象一声明,它就“出生”,构造函数马上响。 A
第8题 const 函数 / 正确声明 保护对象不被改,const 放在函数括号后面。 C
第9题 this 访问成员 this 是指针,指针访问成员用箭头 -> A
第10题 不能重载 三目运算符 ?: 很特殊,别碰它。 C
第11题 new 返回什么 new 做两件事:开内存 + 创建对象;最后给你一个指针。 A
第12题什么时候拷贝构造用旧对象造新对象、按值传参、按值返回,都可能拷贝。D
第13题不是成员函数友元函数像“拿了通行证的外人”,不是类成员。C
第14题inline内联像把小函数复制到调用处,可能更快,也可能让代码变大。D
第15-16题抽象类 / 纯虚函数有纯虚函数就是抽象类;纯虚函数写法是 virtual ... = 0;D / C
第18题拷贝构造参数必须用引用,不然传参又要拷贝,会无限套娃。C
第19题运行时决定调用谁看到“运行时决定”,选 Dynamic binding。C
第21题指针赋值子类地址可以给父类指针;父类地址不能硬塞给子类指针。B
第29题引用 vs 指针引用不能为空,绑上不能换,不用写 * 解引用。D
第31-33题静态成员 / 引用返回 / 模板静态成员全班共享;引用返回能当左值;模板自动推类型。B / D / B
实操规则 选择题别只记字母。至少要知道题干在问哪个概念、正确选项为什么对。完整第7-33题见 03 页。