Tiens, ça me rappel le titre d'un film...
La fonction push ou comment sauvegarder une matrice :
1
2
3
4
5
6
7
8
9
10
11
12
13
|
bool Matrice4::push(){
Matrice4 *newCase = new Matrice4;
if(newCase != 0){
*newCase = *this;
newCase->p_sauvegardePrecedente = p_sauvegardePrecedente;
p_sauvegardePrecedente = newCase;
return true;
}else return false;
}
|
La fonction pop ou comment dégommer la sauvegarde d'une matrice :
1
2
3
4
5
6
7
8
9
10
11
12
13
|
bool Matrice4::pop(){
Matrice4 *matriceTmp = p_sauvegardePrecedente;
if(matriceTmp != 0){
*this = *matriceTmp;
p_sauvegardePrecedente = matriceTmp->p_sauvegardePrecedente;
matriceTmp->p_sauvegardePrecedente = 0;
delete matriceTmp;
return true;
}else return false;
}
|
La fonction depiler ou comment dégommer toute les sauvegardes d'une matrice :
1
2
3
|
void Matrice4::depiler(){
while(pop() != false);
}
|
Et oui, c'est pour cela qu'on à retourner un paramètre pour dire si la fonction à réussie ou pas.
|