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

GESP 2023年9月 C++六级 单选题 第8题

C++六级单选题2023年9月第8题

所属知识点:队列与循环队列 难度要求:— 考频:—

下面代码定义了基于大小为 100 的数组实现的 MoreData 类(__data 为私有成员,含 push()/pop())。关于该代码的说法,错误的是:
#include <iostream>
using namespace std;
class MoreData {
    int * __data;
    int head, tail, capacity;
public:
    MoreData(int cap) {
        capacity = cap;
        __data = new int[capacity];
        head = tail = 0;
    }
    MoreData & push(int val) {
        __data[tail++] = val;
        return *this;
    }
    int pop() {
        return __data[head++];
    }
    int size() {
        return tail - head;
    }
};
int main() {
    auto myData = MoreData(100);
    myData.push(1);
    myData.push(2);
    myData.push(3);
    myData.push(11).push(12).push(13);
    cout << myData.pop() << endl;
    return 0;
}

正确答案:B

题目解析
B 错误:数组容量为 100,程序中 push 的元素个数小于 100,不会越界、也不会编译错误。

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

进入 GESPPASS 开始练习