Оператор перегрузки =

Я хочу перегрузить оператор =.

Это мой код

#define w 10
#define l 10

class grid
{
private:
char battle_grid[w][l];
[...]
public:
grid();
[...]
void show_grid();
grid& operator=(const grid& ex)
{
battle_grid[w][l] = ex.battle_grid[w][l];
return *this;
}
}

grid::grid()
{
int i,j;
for(i=0;i<w;i++) {
for(j=0;j<l;j++) {
battle_grid[i][j] = '.';
}
}
}

и когда я пытаюсь что-то вроде этого в функции main:

int main()
{
[...]
grid p1, p2;
[...]
p2 = p1;
p2.show_grid();
return 0;
}

это не работает, и я не знаю почему. Сетка р2 пуста.

-1

Решение

Знаете ли вы, что:

battle_grid[w][l] = ex.battle_grid[w][l];

не копирует весь двойной массив

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector