Instanciation d'une classe fille

Bonjour,
Je suis nouveau sur ce forum. Et j'ai une question au sujet de l'héritage d'une classe abstraite. Ma classe fille F hérite d'une classe mere M qui est abstraite ( donc avec des méthodes virtuelles pures). Lors de l'implementation de la classe fille F je fais appelle au constructeur de la classe mere. Mais lors de la compilation, le compilateur rale en me disant qu'il n'a pas le droit d'instancier la classe mère M dans la classe fille F à cause de son abstration.
Une idée pour m'aider svp ?
Merci
Configuration: Windows Vista
Firefox 3.0.3

3 réponses

  1. Tu parles de quoi là ?
    Quel logiciel, tu essaie de faire quoi ?
    On est censé tout deviner par télépathie ?
    -2
    1. Bjr
      Je parle de faire hériter une classe fille d'une classe mère abstraite. Désolé je suis en C++ j'oubliais.
      Bref :
      - une classe Figure abstraite qui contient une seule donnée membre.
      - une classe Rectangle fille qui hérite de la classe mere abstraite Figure.

      Ma classe Figure contient des méthodes virtuelles pures donc elle est abstraite; J'y ai mis un constructeur.
      Dans la classe Rectangle qui hérite de la classe Figure j'ai écrit un constructeur dans lequel je rappelle le constructeur de la classe Figure.

      Et à la compile j'ai un message d'erreur me disant que la classe Figure ne peut être instancié du fait qu'elle est abstraite.
      Je ne comprends pas trop cette erreur car j'étais avant en java et je bascule en C++. Donc mon adaptation est un peu délicate du fait des comportements différents de ces deux langages.

      Merci
      -1
    2. @hsmrRe,

      Voir plus bas...
      Pas de constructeur dans une classe Abstract car on ne peux pas l'instancier - vous toujours essayer de compiler mon cher ami (:>) - que ce soit en C++, Java, C# et autres.....

      java.sun.com/docs/books/tutorial/java/IandI/abstract.html

      Capito ?.
      Have a nice day.
      0
    3. @cKoiDonc ??Rere,
      En C++ peut être. Mais cela est possible en Java de definir un constructeur dans une classe abstraite (Mère) pour faciliter le polymorphisme avec ces différentes classes filles.
      D'accord avc toi que l'objet de la classe Mère abstraite ne peut être instancié. Mais ce constructeur (de la classe mère abstraite) sera appelé lors de l'instanciation de la classe fille qui aura hérité de la classe mère abstraite

      Have a nice day too !
      -1
    4. @hsmrOk,

      Je t'avais mal lu : tu n'instancies pas la classe abstraite mais tu appelle seulement son constructeur par un super() dans le constructeur de la classe fille.
      Je ne connaissais pas cette subtilité en Java ...

      Bonne soirée.
      0
    5. @Rollin'babe !!Re,
      dsl de m'être mal exprimé. Et maintenant qu'on se comprends. C'est cette subtilité que je cherche en C++. En gros connais tu l'équivalent du mot super en C++ stp
      merci
      -1
  2. Bjour,

    Une classe Abstraite, sauf erreur de ma part, ne comporte pas de constructeur mais que des méthodes.
    Elle ne peut être instanciée mais seulement dérivée et toutes ses méthodes doivent être redéfinies dans ta classe fille.

    Salutations.
    1
    1. Additif,

      Les méthodes des classes abstraites ne sont pas définies mais simplement déclarées.
      Ta classe fille doit implémenter ces méthodes mais tu n'est pas obligé de les définir si tu ne veux pas les utiliser.

      Nuances (:>).
      Salutations.
      0