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   -
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



A voir également:

2 réponses

ReganDryke Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   6
 
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:
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.
0
SHINTYMAN Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   153
 
Houla! En fait je ne savais pas que l'on pouvait passer les objet en paramètres >.> Après un tout petit peu d'expérimentation, j'ai réussi, et sans passage par référence x) (je n'en vois pas l'utilité d'ailleurs)
Merci beaucoup!
0