il s'agit d'un différence de base :
pour le premier cas : tu appelles le constructeur de copie :
sudoku::sudoku(const sudoku&);
c'est équivalent à pour le second :
1 2
| sudoku temp;
temp = grille; |
tu appelles l'opérateur d'assignation :
const sudoku& sudoku::operator=(const sudoku&);
si l'un des deux n'est pas défini, il est possible que tu rencontre des problèmes...
pour éviter cela, assurre toi de toujours définir 4 fonctions dans tes classes :
- Constructeur (éventuellement par défaut) : Class()
- Destructeur : ~Class()
- Constructeur par copie : Class(const Class&)
- Opérateur d'assignation : const Class& operator=(const Class&)
Partager