我想用c++寫一個隊列類,看到網上有結構體是這么寫的typedef struct Queue_tag{
int data[MAXSIZE];
int front,rear;
}
QUEUE;但是實例化類時好像只能通過改寫MAXSIZE來更改隊列初始化大小我想在構造函數里輸入參數來確定大小,于是我寫了下面的結構體,然后在函數里new了一個隨參數改變長度的數組,并讓*arr指向這個數組,請問這么做有沒有問題,我看好多代碼數組在結構體里都直接確定了大小,那有沒有什么辦法可以不通過更改宏定義而是通過構造函數來初始化大小呢struct queue
{
T *arr;
T *head;
T *tail;}*q;
void initQueue(int lenght)
{
q = new queue;
T *p = new T[lenght];
q->arr = p;
q->head = p;
q->tail = p;
}
c++數據結構的實現類
慕田峪7331174
2018-08-12 10:22:43