Bon, dans mon infinie bonté, je te donne le corrigé. En bas de mon article. Comme ça, tu pourras essayer de le faire avant de le lire
D'abord la fonction principale :
Code :
- #include "Client.h"
- #include <iostream.h>
- int main(void)
- {
- char string_temp [20] ;
- char *affich = NULL;
- Client toto;
- cout << "Donner nom du client" << endl;
- cin >> string_temp ;
- toto.set_Nom (string_temp) ;
- affich = toto.get_Nom ();
- cout << affich << endl;
- }
|
J'ai remplacé le new affich[20] par une initialisation de pointeur. Ce que tu faisais était inutile, vu que la mémoire est déja réservée.
Je t'ai aussi rajouté l'inclusion d'iostream, pour déclarer cout.
Ensuite, le header de ta classe :
Code :
- class Client
- {
- public:
- Client();
- char *get_Nom() ;
- void set_Nom(char left[20]);
- private:
- char Nom[20];
- };
|
Je t'ai inclus la déclaration du constructeur, et je t'ai placé en private la chaine Nom, vu que tu l'initialises et que tu la lis via des méthode publiques.
Enfin, la classe Client :
Code :
- #include "Client.h"
- #include <string.h>
- Client::Client()
- {
- }
- char *Client::get_Nom()
- {
- return Nom;
- }
-
- void Client::set_Nom(char left[20])
- {
- strcpy(Nom,left) ;
- }
|
Nul besoin d'initialiser Nom dans le constructeur, vu que tu l'initialises dans la fonction set_Nom.
Voila, j'ai pas testé ce code, mais s'il y a des erreurs, je te laisse les chercher et les corriger
A+
Message édité par Harkonnen le 15-06-2002 à 17:21:40
---------------
J'ai un string dans l'array (Paris Hilton)