GESP 六级 · GESP 202606 C++ 六级 第 17 题

判断题 · 答案 B · 考点:函数

← 整套速查表 GESP 六级 全部真题

题目

通过指向 Base 的指针删除 Derived 对象时,一定会先调用 Derived 的析构函数,再调用 Base 的析构函数。

#include <iostream>
using namespace std;
class Base {
public:
    ~Base() {
        cout << "Base destructor" << endl;
    }
};
class Derived : public Base {
public:
    ~Derived() {
        cout << "Derived destructor" << endl;
    }
};
int main() {
    Base* p = new Derived();
    delete p;
    return 0;
}
答案:B

考点

函数

解题思维

仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。

常见错误

审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。

详细解析(节选)

【考点】虚析构函数|对象销毁顺序

1. 🎯 考纲定位

GESP 六级 类与对象模块。命题人专门挖掉"虚"字,卡住那些只背"delete 调用析构"却不懂多态底层机制的考生。这题就是用来筛掉半吊子的——你背过基类必须有虚析构,但一到实战就忘了"为什么必须"。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断