Comment ecrire un constructeur par recopie ? [Résolu]

Signaler
Messages postés
36
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
10 février 2013
-
Messages postés
15021
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
19 avril 2021
-
Bonjour s'il vous plait j'ai un problème dans le constructeur de recopie sachant que j'ai dans
fichier Cellule.h :
class Cellule{
double valeur;
bool presence;
};

et fichier Ligne.h
class Ligne {
string matiere;
Cellule note ;
};

et dans le main jai ce code :
vector<string>lib;
lib.push_back("math");
lib.push_back("anglais");
Ligne l2(lib);

1-Comment je dois faire pour le contructeur de recopie pour que le compilateur accepte cette ligne "Ligne l2(lib);"

Et est ce que la declaration de la class ligne est juste ? je dois ecrire "string matiere" ou bien "vector<string> matiere" ? sachant que je dois respecter le code dans le main.

Aidez moi svp !! et merci d'avance ^^

3 réponses

Messages postés
15021
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
19 avril 2021
94
Aïe...
Une classe C++ se défini comme suit:
class MyClass
{
public:
MyClass();  //constructeur par défaut
MyClass(string myString);   //constructeur prenant une string en paramètre
MyClass(const MyClass& other);  //constructeur par recopie

~MyClass(); // destructeur
}


Néanmois, je te recommande chaudement la lecture de ce cours en ligne, très bien fait et très complet

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
15021
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
19 avril 2021
94
Hello,
Aïe...je pensais avoir compris ta demande...mais non.
Ce que tu cherches à faire n'est pas un constructeur par recopie mais un constructeur avec paramètres. Rien de bien compliqué finalement.

je dois ecrire "string matiere" ou bien "vector<string> matiere" ?

Bin...ça dépend. Si matière est une string, utilises le 1er choix. Si c'est une liste de string, utilises le 2e...

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
36
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
10 février 2013

Euuh mais comment je dois déclarer et definir ce constructeur ? ^^