我想重载operator =。
这是我的代码
#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;
}
它不起作用,我不知道为什么。网格p2为空。
答案 0 :(得分:0)
battle_grid[w][l] = ex.battle_grid[w][l];
不会复制整个双数组