Создание двумерного масива в глобальной облости видимости класса, изнутри конструктора

Рейтинг: 0Ответов: 1Опубликовано: 25.07.2023

Есть такой код:

class LifeGame{
    //массив должен оказаться тут
public:
    LifeGame(int FieldRange){
        bool mas[FR][FR];
    }
    
};

Возможно ли перенести массив mas в внутрь private области класса? Я думал сделать массив с днамической размерностью, но как я понял так не работает с двумерными массивами.

Ответы

▲ 0Принят

Лучше и правда используйте vector, а касательно вашего вопроса:

class LifeGame{
    //массив должен оказаться тут
private:
    size_t n, m;
    bool** mas;
public:
    LifeGame(size_t n, size_t m): n{n}, m{m} {
        cout << "LifeGame\n";
        mas = new bool*[n];
        
        for (size_t i = 0; i < n; ++i) {
           mas[i] = new bool[m];
        }
        
       // заполняешь чем хочешь 
    }
    
    ~LifeGame() {
        cout << "~LifeGame\n";
        for (size_t i = 0; i < n; ++i) {
            delete[] mas[i];
        }
        delete[] mas;
    }
    
};