Comment utiliser un objet sur plusieurs fonction ?
Résolu
SHINTYMAN
Messages postés
129
Statut
Membre
-
SHINTYMAN Messages postés 129 Statut Membre -
SHINTYMAN Messages postés 129 Statut Membre -
Bonjour à tous! Je me posais une simple question... Pour la création d'un programme, j'avais besoin de faire passer beaucoup d'informations sur plusieurs fonctions: j'ai donc décidé de faire deux classes, une pour le personnage et une pour son inventaire (le programme n'est pas très évolué). Comme c'est un programme de type 'livre dont vous êtes le héros', j'ai décidé de faire une fonction par "salle" du donjon de l'histoire, pour éviter l'utilisation des if et permettre de tout visiter à l'infini... Seulement voila: les objets que j'ai créé et modifié dans le int main() ne sont accessibles que dans cette fonction. Sauriez-vous comment faire pour rendre un objet utilisable sur plusieurs fonctions (sachant que la classe inventaire contient un treintaine de prototypes de methodes...) ?
Merci d'avance,
Gankachi
Merci d'avance,
Gankachi
A voir également:
- Utiliser un objet pour une autre fonction
- Fonction si et - Guide
- Site pour vendre des objets d'occasion - Guide
- Comment utiliser chromecast sur tv - Guide
- Utiliser une tablette comme ecran pc - Guide
- Utiliser iphone comme webcam - Guide
2 réponses
L'idéal serait d'utiliser un passage par reference. En gros tu envoie a chaque fonction l'adresse de ton objet pour que chacune des fonctions puisse le manipuler a leur guise.
Plus d'information ici : https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c#ss_part_420465
Remarque bien que tu peux dire qu'une fonction demande une reference directement dans sa definition exemple:
Et dans ton main
Ps: Un petit conseil performance evite les fonctions qui sont capable de boucler sur elles même sans être sur qu'elles resortiront avant de depasser la memoire que ton systeme d'exploitation peut t'allouer.
Plus d'information ici : https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c#ss_part_420465
Remarque bien que tu peux dire qu'une fonction demande une reference directement dans sa definition exemple:
void mafonction(int & nombre) { nombre++; }
Et dans ton main
int main() { int numero = 0; cout << numero << endl; mafonction(numero); cout << numero << endl; return 0; }
Ps: Un petit conseil performance evite les fonctions qui sont capable de boucler sur elles même sans être sur qu'elles resortiront avant de depasser la memoire que ton systeme d'exploitation peut t'allouer.