CLASSE, CONSTRUCTEURS, OBJETS[DEVCPP][TC][CBUILDER]

Signaler
Messages postés
249
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
7 août 2003
-
Messages postés
10
Date d'inscription
lundi 9 décembre 2002
Statut
Membre
Dernière intervention
20 décembre 2002
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10139-classe-constructeurs-objets-devcpp-tc-cbuilder

Messages postés
10
Date d'inscription
lundi 9 décembre 2002
Statut
Membre
Dernière intervention
20 décembre 2002

Slt!!
G une question un peu indiscrete, tu compte faire quoi avec ce code?
L'incorporer à un jeu?
Tout seul, il sert un peu à rien...
Simple curiosité, enfin il presente plus d'interet que certains "hello world!" à la con.

>>merci pour le 20+1, mickbad, je connaissais pas!
Bonne prog les gars!
Messages postés
2
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
3 décembre 2002

Bonne idee,je ne connaissait pa etant donné ke je suis encor un pe novice,merci pr l info en tt cas!Ca me sera vraiment utile!

Vive le bts info!!!!
Messages postés
71
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
20 avril 2008

Salut, c'est bien mais il y a un truc qui me gène un peu:
* Player::Player(char *stat, int hp, int def, int pw) //Constructeur.
* {
* strcpy(statut, stat);

si je fais
Player* p = new Player("0123456789012345678901-et je dépasse la zone !");
ça plante (tu risques d'écrire dans un emplacement non alloué)
why ? ben "0123456789012345678901-et je dépasse la zone !" > 20 + 1 caractères

2 solutions:
- dans ton constructeur, utilise plutôt : strncpy(statut, stats, 20);
- remplace char statut[20+1] par char* statut; et ton constructeur devient
statut = (char*)calloc(strlen(stats) + 1, sizeof(char));
if (statut)
strcpy(statut, stats);

et dans ton destructeur, faut pas oublier de libérer statut avec
if (statut)
free(statut);

enfin juste dans l'idée ...
Messages postés
249
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
7 août 2003
2
Non quand même pas pour l'héritage, mais fonctions get et set oui.
Afficher les 6 commentaires