IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Accès aux objets d'une classe créés dynamiquement


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 173
    Points : 42
    Points
    42
    Par défaut Accès aux objets d'une classe créés dynamiquement
    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

  2. #2
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Points : 588
    Points
    588
    Par défaut
    je crois que tu as voulu dire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My_Class* pMyClass = new My_Class(...)
    Tu y accèdes comme tu accèdes à n'importe quel pointeur: tu déréférence.

    Tu peux le faire soit via l'opérateur * soit via l'opérateur ->.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pMyClass->doSomething();
    T something = pMyClass->getSomething();
    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (*pMyClass).doSomething();
    T something = (*pMyClass).getSomething();

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 173
    Points : 42
    Points
    42
    Par défaut
    oui ok mais si ma classe contient par exemple 10 objets comment je procède pour accéder au 5e ?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 153
    Points : 12 264
    Points
    12 264
    Par défaut
    On définisant l'opérateur "[]".

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 173
    Points : 42
    Points
    42
    Par défaut
    merci bcp

  6. #6
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    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

Discussions similaires

  1. Problème d'accès aux méthodes d'une classe
    Par RR instinct dans le forum Langage
    Réponses: 5
    Dernier message: 26/06/2006, 14h51
  2. [FLASH MX2004] [AS2] Accès aux variables d'une classe
    Par stailer dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 17/07/2005, 12h58
  3. [Language]acces aux metode d une classe
    Par harris_macken dans le forum Langage
    Réponses: 5
    Dernier message: 06/04/2005, 09h52
  4. Réponses: 38
    Dernier message: 16/02/2005, 02h03
  5. [TOMCAT] JSP problème d'accès aux méthodes d'une classes
    Par gunnm dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/05/2004, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo