Salut,
Tu dois séparer la lecture des informations dans le fichier et la création de tes objets.
Tu ne dois donc pas créer un constructeur par copie, mais bel et bien un constructeur qui prenne les informations dont tu dispose
Ensuite, si dans titi.txt, tu as les informations dans un ordre donné (comme par exemple)
et que dans toto.txt, tu as les mêmes informations, mais dans un autre ordre (comme par exemple)
Code : Sélectionner tout - Visualiser dans une fenêtre à part nom prenom age sexe bidule
il "suffit" de faire lire les informations dans l'ordre réel, avant d'appeler le constructeur (même si on peut discuter du fait que cette situation n'est arrivée que parce que tu a sans doute loupé quelque chose en conception
Code : Sélectionner tout - Visualiser dans une fenêtre à part prenom age sexe bidule nom)
Cela pourrait se faire sous une forme proche de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CFauxFrere* lectureFichier(const std::string& fname) { std::ifstream ifs(fname.c_str()); std::string nom; std::string prenom; int age; char sexe; std::string bidule; if( fname=="titi.txt";) ifs >> nom >> prenom >> age >> sexe >> bidule; else ifs >> prenom >> age >> sexe >> bidule >> nom; return new FauxFrere(nom, prenom, age, sexe, bidule); }
Partager