第22566题 单选
有关给定C++代码的说法,正确的是

以下是题目对应代码:

#include <iostream>
using namespace std;

class ManyData {
    int * __data;
    int head, tail, capacity;
public:
    ManyData(int cap) {
        capacity = cap;
        __data = new int[capacity];
        head = tail = 0;
    }
    void push(int val) {
        __data[tail++] = val;
    }
    int pop() {
        return __data[--tail];
    }
    int size() {
        return tail - head;
    }
};

int main() {
    auto myData = ManyData(100);
    myData.push(1);
    myData.push(2);
    myData.push(3);
    myData.push(100);
    cout << myData.size() << endl;
    cout << myData.pop() << endl;
    return 0;
}
A

这段代码不能正常运行。

B

ManyData 类可用于构造队列(Queue)数据结构。

C

在上面代码环境,代码 cout<< myData.__data[0] << endl; 可以增加到代码 main 函数末尾( return 0;之前),且不会导致报错。

D

可以为 ManyData 类的 push() 、 pop() 函数增加异常处理代码,否则在使用 ManyData 类时可能导致运行时错误或逻辑错误(不一定局限于上述代码中的 main 函数)。