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

Langage C++ Discussion :

Portée d'une classe interne et passage en paramètre


Sujet :

Langage C++

  1. #1
    Membre confirmé
    Profil pro
    INGENIEUR DE RECHERCHE
    Inscrit en
    Février 2003
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : INGENIEUR DE RECHERCHE

    Informations forums :
    Inscription : Février 2003
    Messages : 74
    Par défaut Portée d'une classe interne et passage en paramètre
    Bonjour,

    Je veux que ma classe interne (ici MaClassB) ait une portée sur toute la classe conteneur (ici MaClassA) et, de plus, pouvoir passer ma classe interne en paramètre d'une autre classe interne.

    MaClasseA.h
    ...
    private:
    MaclasseB *classB;
    MaClasseA.cpp
    MaClasseA::MaClassA(){
    classB = new MaClassB();
    ClassAutre classAutre(classB);
    }
    La compilation bloque avec "error : no matching fonction..", j'ai essayé toutes les * et les & possibles dans tous les sens

    Par contre si je fais :
    MaClasseA.cpp
    MaclasseB classB();
    ClassAutre classAutre(classB);
    Cà passe...Sûrement une base de programmation que je n'aurai pas retenue.
    Merci pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Par défaut
    Il faudrait que tu nous donnes le prototype de ta classe autre, car il n'y a aucune raison que ton premier cas ne fonctionne pas.

  3. #3
    Membre confirmé
    Profil pro
    INGENIEUR DE RECHERCHE
    Inscrit en
    Février 2003
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : INGENIEUR DE RECHERCHE

    Informations forums :
    Inscription : Février 2003
    Messages : 74
    Par défaut
    La solution consiste à déréférencer
    MaClasseA::MaClassA(){
    classB = new MaClassB();
    ClassAutre classAutre(*classB);
    }


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

Discussions similaires

  1. [DEV] RealBasic : (Débutant) portée d'une classe
    Par Cazaux-Moutou-Philippe dans le forum Développement OS X
    Réponses: 0
    Dernier message: 25/11/2007, 12h08
  2. Dériver une classe interne
    Par MisterTee dans le forum Langage
    Réponses: 5
    Dernier message: 11/10/2006, 02h19
  3. [heritage] etendre une classe interne en dehors du package
    Par ChristopheH dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2004, 14h15
  4. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  5. [Thread] Erreur dans une classe interne
    Par totof2308 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/06/2004, 08h15

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