Bonjour,
Comment puis je accéder aux objets d'une classe créés dynamiquement par la syntaxe :
My_Class* pMyClass My_Class(...)
sachant qu'il peut évidemment y en avoir plusieurs ?
Merci à tous
Bonjour,
Comment puis je accéder aux objets d'une classe créés dynamiquement par la syntaxe :
My_Class* pMyClass My_Class(...)
sachant qu'il peut évidemment y en avoir plusieurs ?
Merci à tous
je crois que tu as voulu dire:
Tu y accèdes comme tu accèdes à n'importe quel pointeur: tu déréférence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part My_Class* pMyClass = new My_Class(...)
Tu peux le faire soit via l'opérateur * soit via l'opérateur ->.
Ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 pMyClass->doSomething(); T something = pMyClass->getSomething();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (*pMyClass).doSomething(); T something = (*pMyClass).getSomething();
oui ok mais si ma classe contient par exemple 10 objets comment je procède pour accéder au 5e ?
On définisant l'opérateur "[]".
merci bcp
Salut,
Il est peut être utile de rappeler la loi demeter qui stipule que, si, dans le cadre de son utilisation courante, une clase A manipule une classe B qui manipule elle-même une classe C, la classe A de dois normalement pas avoir connaissance de la classe C... (version allégée et simplifiée)
Dans le cas présent, un des moyens les plus efficaces de respecter cette loi est *peut-être* de penser en terme de "services rendus" par ta classe plutôt qu'en terme de données manipulées.
Il serait donc judicieux (mais rien dans ta question ne nous permet de trancher sur le sujet) de s'interroger quant à savoir si ta classe *manipule* uniquement les données créées dynamiquement ou si elle agit comme une "collection" (un "conteneur") de ces objets.
Dans le premier cas, les "getters" simples (getMachinChose, operator[]) seraient sans doute très avantageusement remplacés par une ou des fonction(s) prenant, entre autre, l'indice de l'objet à utiliser et utilisant l'objet concerné "en interne" uniquement.
Dans le second cas, l'opérateur [] devient plus opportun, mais il faut alors se souvenir de la sémantique de cet opérateur: c'est un opérateur qui permet de récupérer une donnée indicée (et que l'on pourrait d'ailleurs souvent associer au fait d'effectuer une recherche dichotomique ou un acces aléatoire au départ de cette valeur), et toutes les collections ne sont pas forcément dans ce cas de figure![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager