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 :

[Débutant]Passer une classe abstraite en paramètre


Sujet :

C++

  1. #1
    Invité
    Invité(e)
    Par défaut [Débutant]Passer une classe abstraite en paramètre
    Bonjour à tous.

    J'étais quasiment sûr qu'on pouvait passer une classe abstraite en paramètre d'une fonction jusqu'à ce que ce bout de code situé dans une classe contenant des Symboles (abstraits)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Symbole* ajouter(Symbole s);
    me déclanche une erreur:
    src/TableSymboles.h:32: error: cannot declare parameter `s' to be of type `Symbole'
    src/TableSymboles.h:32: error: because the following virtual functions are abstract:
    src/Symbole.h:33: error: virtual bool Symbole::operator==(std::string)
    src/Symbole.h:32: error: virtual bool Symbole::operator==(Symbole)
    Est-on obligé de redéfinir un méthode pour chaque classe fille :

    Le but final étant de pouvoir ajouter à un conteneur (vector) des Symboles. (Symbole étant abstrait)

    Merci d'avance pour vos lumières.

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Par definition, il ne peut y avoir d'instances d'une classe abstraite. Avoir un argument passe par valeur serait avoir une instance, donc ce n'est pas possible. Tu peux naturellement passer par reference:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Symbole* ajouter(Symbole const& s);
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci. En effet c'est logique.

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

Discussions similaires

  1. [PHP 5.4] Typage des paramètres d'une classe abstraite
    Par comode dans le forum Langage
    Réponses: 8
    Dernier message: 18/04/2014, 19h34
  2. Défit : classe abstraite en paramètre d'une fonction
    Par spoke999 dans le forum Langage
    Réponses: 2
    Dernier message: 15/05/2011, 15h58
  3. Passer une classe en paramètre
    Par Tex-Twil dans le forum C++
    Réponses: 17
    Dernier message: 30/11/2005, 20h00
  4. [Débutant(e)] toString + classes abstraites
    Par debdev dans le forum Langage
    Réponses: 9
    Dernier message: 26/01/2005, 15h22
  5. [FLASH 5] Passer une var ou un paramètre
    Par Harry dans le forum Flash
    Réponses: 8
    Dernier message: 18/03/2004, 17h46

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