C++ 顺序队列

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

class queue{
    private:
    array<int, 100000> q;
    int head=0, rear=0;
    public:
    void push(int x) {
        q[rear++] = x;
    }
    void pop() {
        if (head!=rear) head++;
        else cout << "ERR_CANNOT_POP" << endl;
    }
    int front() {
        if (head!=rear) return q[head];
        else cout << "ERR_CANNOT_QUERY" << endl;
        return -1;
    }
    int lenQue() {
        return rear-head;
    }
};

int main() {
    int n, op, x;
    queue q;
    cin >> n;
    while (n--) {
        cin >> op;
        switch (op) {
            case 1: cin >> x; q.push(x); break;
            case 2: q.pop(); break;
            case 3: {int a = q.front(); if (q.lenQue()) cout << a << endl; break;}
            case 4: cout << q.lenQue() << endl; break;
        }
    }
    return 0;
}
// 64 位输出请用 printf("%lld")