Bonjour à tous
J'ai besoin de créer un constructeur par copie dans une classe personnelle, et deux opérateurs d'affectations (un avec une R-Value), mais j'ai dû dupliquer le code :
(Si vous vous demandez pourquoi les 3, c'est simplement pour mieux utiliser la STL, elles paraissent indispensables pour utiliser les méthodes de certaines collections).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Operation::Operation(const Operation &valueToCopy){ this->_operator = valueToCopy._operator; this->_tile_1 = valueToCopy._tile_1; this->_tile_2 = valueToCopy._tile_2; } Operation& Operation::operator=(Operation&& valueToCopy){ this->_operator = valueToCopy._operator; this->_tile_1 = valueToCopy._tile_1; this->_tile_2 = valueToCopy._tile_2; return *this; } Operation& Operation::operator=(const Operation& valueToCopy){ this->_operator = valueToCopy._operator; this->_tile_1 = valueToCopy._tile_1; this->_tile_2 = valueToCopy._tile_2; return *this; }
Comment faire plus simple, factoriser tout cela en réutilisant l'une des 3 méthodes dans les deux autres ? J'avais vu dans un cours, mais j'ai carrément oublié.
Autre question liée : vu que je n'utilise pas de pointeur nu dans ma classe, je n'ai pas besoin de surcharger le destructeur : n'est-ce pas ?
Partager