一、整体复习重点划分
教材前四章属于基础内容,是写代码的底子。其中第一章、第四章概念偏多,考试大多出选择、填空题,简单记忆即可。第二章、第三章是重中之重,循环、数组、指针、引用是考试高频易错点,所有编程题都会用到,必须练熟。
第五、六、七章是期末考试大头、分值最高。第五章讲类和对象,是面向对象的基础,必考代码题。第六章继承、第七章多态是整本书最难的部分,期末压轴大题基本都出自这里,是复习的核心重点。

#include <iostream>
#include <string>
using namespace std;

// 抽象基类(含纯虚函数,不能实例化)——第七章多态核心
class Person
{
protected:
    string name;
public:
    // 构造函数
    Person(string n) : name(n) {}
    // 虚析构
    virtual ~Person()
    {
        cout << "释放Person基类资源" << endl;
    }
    // 纯虚函数,抽象类标识
    virtual void showInfo() = 0;
};

// 公有继承——第六章继承
class Student : public Person
{
private:
    int score;
public:
    // 派生类构造:先调用父类构造
    Student(string n, int s) : Person(n), score(s) {}

    // 重写虚函数,实现多态
    void showInfo() override
    {
        cout << "学生:" << name << ",分数:" << score << endl;
    }

    // 运算符重载 +=
    Student& operator+=(int add)
    {
        score += add;
        return *this;
    }
};

int main()
{
    // 基类指针指向派生类,动态多态(期末大题模板)
    Person* p = new Student("张三", 80);
    p->showInfo();

    // 运算符重载测试
    Student stu("李四", 70);
    stu += 10;
    stu.showInfo();

    // 释放动态内存,虚析构保证子类完整释放
    delete p;
    return 0;
}