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 :

Fonction avec divers return possibles


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de inddzen
    Inscrit en
    Avril 2004
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2004
    Messages : 133
    Par défaut Fonction avec divers return possibles
    Je vais essayer d'exposer mon probleme le plus clair possible

    Soit les classes A, B et C telles que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class B : public A
    {.....}
     
    class C : public A
    {.....}
    J'aimerai qu'une fonction puisse retourner une de ces classes selon la situation, i.e :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ????????? fonction()
    {
        if(quelque chose) 
            return B;
        else
            return C;
    }
    La ou il y les "?????" est bien sur la raison de ce post

    Est que quelqu'un aurais une idee?

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Retourner une classe non, par contre tu peux retourner une instance de dérivée sous forme de A* :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    A* fonction()
    {
        if (quelque chose) 
            return new B;
        else
            return new C;
    }

  3. #3
    Membre confirmé Avatar de inddzen
    Inscrit en
    Avril 2004
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2004
    Messages : 133
    Par défaut
    En effet, j'ai oublie le "*" dsl

    Mais ce que je n'arrive pas a comprendre, c'est que les B et C heritent effectivement de A mais sont differentes de A. Elles ne sont composees que partiellement de A et ont leurs propres composants.

  4. #4
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    mécanisme de l'héritage -> toute bêtement B et C sont des A particuliers

  5. #5
    Membre confirmé Avatar de inddzen
    Inscrit en
    Avril 2004
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2004
    Messages : 133
    Par défaut
    Je devais certainement ronfler ce jour la en classe

  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Et oui... B hérite de A si et seulement si Best unA

    Donc "Carré" hérite de "Rectangle", qui possède pourtant plus d'informations.

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

Discussions similaires

  1. Méthode/ fonction avec un String comme "return"
    Par foggiat dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 16/11/2014, 02h02
  2. Fonction avec return table
    Par Aethia dans le forum Sybase
    Réponses: 6
    Dernier message: 11/12/2013, 18h39
  3. tester si fonction avec return a été exécutée
    Par santaflam dans le forum Général Python
    Réponses: 30
    Dernier message: 09/08/2011, 19h11
  4. Fonction avec un return
    Par baleiney dans le forum Langage
    Réponses: 2
    Dernier message: 03/01/2008, 23h27
  5. Fonction avec 4 paramètres, c'est possible ?
    Par arnaudperfect dans le forum Langage
    Réponses: 2
    Dernier message: 18/06/2007, 09h31

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