Comment utiliser un objet sur plusieurs fonction ?
Résolu
SHINTYMAN
Messages postés
114
Date d'inscription
Statut
Membre
Dernière intervention
-
SHINTYMAN Messages postés 114 Date d'inscription Statut Membre Dernière intervention -
SHINTYMAN Messages postés 114 Date d'inscription Statut Membre Dernière intervention -
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
- Utiliser chromecast - 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.