Comment ecrire un constructeur par recopie ?

Résolu
pinkettee Messages postés 36 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 10 février 2013 - 7 mars 2012 à 13:23
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 - 7 mars 2012 à 14:16
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

BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
7 mars 2012 à 14:16
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...
3
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
7 mars 2012 à 13:57
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...
0
pinkettee Messages postés 36 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 10 février 2013
7 mars 2012 à 14:05
Euuh mais comment je dois déclarer et definir ce constructeur ? ^^
0
Rejoignez-nous