Как инициализировать массив указателей stati c в объекте - PullRequest
1 голос
/ 18 марта 2020

Если у меня, например, есть класс CardHandler, и я хочу создать массив c выделенных указателей, имеющих тип Card и 40 мест, как мне записать в h-файл и cpp - файл?

Я пробовал что-то вроде этого:

class CardHandler
{
   private:
   Card **arr;
}

CardHandler::CardHandler()
{
    this->arr = new Card*[40];
}

Но не думаете, что это правильный путь? Я подозреваю, что это как-то связано со стати c.

1 Ответ

3 голосов
/ 18 марта 2020

Вот как вы можете создать массив указателей, который имеет фиксированный размер:

class CardHandler
{
private:
    Card* arr[40];
}

Вам нужно будет заполнить указатели фактическими картами, расположенными в куче в конструкторе. Или, может быть, лучше:

class CardHandler
{
private:
    Card arr[40];
}

Это массив из 40 реальных карт, которые вы можете инициализировать так, как хотите, но всегда будут распределяться с момента вызова вашего конструктора и до вызова вашего деструктора.

...