GESP C++ 真题 · 逐题精解
首页 › C++六级真题 › 2026年9月 › 第3题

GESP 2026年9月 C++六级 单选题 第3题

C++六级单选题2026年9月第3题

所属知识点:继承·多态·虚函数 难度要求:— 考频:—

下列代码执行后的输出顺序是(  )。
class Base {
    public:
    Base() {
        cout << "B ";
    }
    virtual ~Base() {
        cout << "~B ";
    }
};

class Derived : public Base {
    public:
    Derived() {
        cout << "D ";
    }
    ~Derived() {
        cout << "~D ";
    }
};

int main() {
    Base *p = new Derived();
    delete p;
    return 0;
}

正确答案:C

题目解析
构造时先基类后派生类,输出 B D;delete 基类指针时因 ~Base 为虚函数,先调用 ~Derived 输出 ~D 再调用 ~Base 输出 ~B,最终为 B D ~D ~B。正确答案 C。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习