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 :

Passage d'un objet


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 61
    Par défaut Passage d'un objet
    Bonjour,

    J'ai besoin d'aide avec un concept de la POO et Visual C++. Voici un exemple de la situation:

    J'ai les classes Maison, Garage, FormulaireMaison, FormulaireGarage et FormulairePrincipal. La classe Garage hérite de Maison, et FormulaireGarage de FormulaireMaison. Ces deux classes sont responsables de la saisie de nouveaux objets.

    La classe FormulairePrincipal contient un tableau d'objets (ArrayList) de type Garage.

    Dans FormulaireGarage, après validation des données saisies, je crée un objet temporaire de type Garage. Je désire l'ajouter à mon tableau qui réside dans la classe FormulairePrincipal. Comment faire?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Tu ajoutes une méthode dans ta classe FormulairePrincipal qui permet d'ajouter un objet de type Garage au tableau et tu appelles cette méthode depuis ta class formulaireGarage avec ton objet temporaire.
    Par contre, je n'utilise jamais les ArrayLists. A toi de voir s'il faut créer une copie avant de l'ajouter au tableau ou si les ArrayLists s'occupe de faire la copie.

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 61
    Par défaut
    Bonjour,

    Ton raisonnement semble juste, par contre:

    FormulairePrincipal est ma classe où mon programme démarre. Pour pouvoir apeller ses méthodes à partir de la classe FormulaireGarage, les méthodes doivent être statiques pour que je puisse les apeller comme suis:

    FormulairePrincipal::ajouterGarage(monGarage);

    Hors, le tableau n'est pas statique, donc on peut pas faire de traitement dessus à partir d'une classe statique.

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 61
    Par défaut
    Bon ok, après réflexion (corrigez-moi si je me trompe):

    Dans FormulairePrincipal, quand j'apelle gcnew FormulaireGarage, je n'ai qu'a passer en paramètre mon objet frmPrincipal.

    ex: Bouton "Ajouter garage" de FormulairePrincipal:
    FormulaireGarage frmGarage = gcnew FormulaireGarage(this)

    Et ensuite récuperer cette référence pour apeller ses méthodes par la suite.

    Sounds good?

    Y'a-t-il moyen de déclarer des objets de type "super globaux", par exemple qu'il pourrait être visible et utilisable à partir de toute les classes, à tout moment?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Sounds good.

    Y'a-t-il moyen de déclarer des objets de type "super globaux", par exemple qu'il pourrait être visible et utilisable à partir de toute les classes, à tout moment?
    C'est ce qu'on appelle un singleton. A utiliser avec parcimonie. Une petite recherche sur Google te permettra de trouver des tutoriaux avec des recommandations d'utilisation.

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 61
    Par défaut
    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage d'un objet du 1er plan au 2eme plan
    Par kinouseb dans le forum C#
    Réponses: 1
    Dernier message: 26/01/2009, 12h53
  2. Réponses: 5
    Dernier message: 20/08/2008, 22h19
  3. passage d'un objet en paramètre
    Par g30167 dans le forum C++
    Réponses: 2
    Dernier message: 14/12/2007, 23h25
  4. Passage d'un objet entre deux classes
    Par ericlemoustic dans le forum Langage
    Réponses: 2
    Dernier message: 13/10/2006, 09h58
  5. Réponses: 20
    Dernier message: 23/09/2005, 13h50

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