diff --git a/src/Projet.cpp b/src/Projet.cpp index 9ced0d5..462fb88 100644 --- a/src/Projet.cpp +++ b/src/Projet.cpp @@ -13,16 +13,11 @@ void Projet::_copy(const Projet &src) { // Copie des tâches taches.reserve(src.taches.size()); for (Tache *t : src.taches) { - taches.push_back(new Tache(*t)); + taches.push_back(t); } } -void Projet::free_taches() { - for (Tache *it : taches) { - delete it; - } - taches.clear(); -} +void Projet::free_taches() { taches.clear(); } Projet::Projet(const Projet &src) : debut(src.debut), fin(src.fin) { _copy(src); diff --git a/src/RunProjet.cpp b/src/RunProjet.cpp index 7dd5cd4..aec3244 100644 --- a/src/RunProjet.cpp +++ b/src/RunProjet.cpp @@ -1,16 +1,14 @@ #include "../includes/RunProjet.hpp" -RunProjet::RunProjet(ProtoProjet &src) : ProtoProjet(src) { - // TODO: Ici on COPIE les tâches de ProtoProjet au lieu de juste prendre les - // références et les retirer de sa liste - // Il faudrait que l'on trouve un moyen que ça n'arrive pas pour éviter une - // copie inutile +RunProjet::RunProjet(ProtoProjet &src) : ProtoProjet(src) { src.free_taches(); } - src.free_taches(); +RunProjet::~RunProjet() { + // Ici on veut supprimes les tâches + for (Tache *it : taches) { + delete it; + } } -RunProjet::~RunProjet() {} - RunProjet::RunProjet(const RunProjet &src) : ProtoProjet(src) {} const RunProjet &RunProjet::operator=(const RunProjet &src) {