Bonjour tout le monde !
Je n'arrive pas à surcharger mon opérateur +...
En faite, il faudrait que j'applique l'opérateur + à un objet de Message et à une chaine de caractère...
J'ai donc ma classe message :
Est-ce que çà c'est juste déjà ou il faut que je mette char *ad_dest ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 class message { private: enum { n = 10 }; static int cpt_id_message; // compteur nombr id déjà utilisé int num_id_message; // num id du message char *adresse_expediteur; char *adresse_destinataire; bool urgent; bool mess_lu; char *sujet; char *texte; public: message (void); // constructeur par défaut message (const message & mess); // constructeur de copie message (int num, char *ad_exp, char *ad_dest, bool urg, bool msg_lu, char *sjt, char *txt); ~message (void) // Destructeur class message { delete []adresse_expediteur; delete []adresse_destinataire; delete []sujet; delete []texte; } message operator+ (char ad_dest); // surcharge de l'opérateur + void affMessage (void); // afficher le message void encMessage (void); // entrer le message void checkFormatMsg (char *tmpEnc); // vérifie la présence d'un " @ " void setExpediteur (char *tmpEnc) { adresse_expediteur = new char[strlen(tmpEnc)+1]; strcpy(adresse_expediteur,tmpEnc); } void setDestinataire (char *tmpEnc) { adresse_destinataire = new char[strlen(tmpEnc)+1]; strcpy(adresse_destinataire,tmpEnc); } char *getDestinataire (void) { return adresse_destinataire; } };
Ma fonction de surcharge est la suivante (est-ce bon ?) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part message operator+ (char ad_dest); // surcharge de l'opérateur +
En faite, je dois mettre plusieurs adresses email dans "adresse_destinataire" et je fais çà comme çà dans mon main() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 message message::operator +(char ad_dest) { message msg; msg.adresse_destinataire = adresse_destinataire + ad_dest; }
Que dois-je corriger pour que çà aille :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char tmpEnc[100]; tmpEnc = tmpEnc + getDestinataire(); setDestinataire(tmpEnc);
Merci d'avance car j'avance vraiment à pas de fourmis
Partager