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 :

interface C++ java


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    Par défaut interface C++ java
    Bonjour à tous



    J'ai une question peut être un peu bête, je ne sais pas trop comment chercher ça. Je voudrais faire s'équivalent d'une interface en java.

    J'ai voulu faire une classe qui contient que des fonctions virtuelles sans constructeurs. Mais je n'arrives pas à hériter de cette classe.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #ifndef LEARNING_H_
    #define LEARNING_H_
     
    class Learning
      {
    public:
        virtual void start();
        virtual ~Learning();
      };
     
    #endif /*LEARNING_H_*/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #ifndef GENETICALGORITHM_H_
    #define GENETICALGORITHM_H_
     
    class GeneticAlgorithm : virtual public Learning
      {
    public:
        GeneticAlgorithm();
        virtual ~GeneticAlgorithm();
      };
     
    #endif /*GENETICALGORITHM_H_*/

    Merci d'avance

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    En quoi cela ne marche pas, quels sont les erreurs générées ?

  3. #3
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    Par défaut
    Il ne voulait pas me creer la classe GeneticAlgorithm il ne considerait pas Learning comme une classe. Mais maintenant ça marche. Je ferrais un copier coller du code ce soir si ça intéresse quelqu'un

    Merci.

  4. #4
    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
    n'oublies pas de mettre tes fonctions virtuelles pures....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #ifndef LEARNING_H_
    #define LEARNING_H_
     
    class Learning
      {
    public:
        virtual void start() = 0 ;
        virtual ~Learning() = 0 ;
      };
     
    #endif /*LEARNING_H_*/
    Voire même de spécifier que la classe ne doit pas contenir de vtable.... Ca évitera un constructeur généré par défaut...
    (ca dépend du compilateur par contre... sous MSVC c'est un truc genre __declspec(novtable) ).

  5. #5
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    Par défaut
    J'avais effectivement oublié ça.

    Maintenant j'ai ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #ifndef LEARNING_H_
    #define LEARNING_H_
     
    class Learning
      {
    public:
        virtual ~Learning()
          {
          }
        ;
     
        virtual void start() = 0;
        virtual void stop() = 0;
     
      };
     
    #endif /*LEARNING_H_*/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    #ifndef GENETICALGORITHM_H_
    #define GENETICALGORITHM_H_
     
    #include "Learning.h"
     
    class GeneticAlgorithm : public Learning
      {
    public:
        GeneticAlgorithm();
        ~GeneticAlgorithm();
     
        virtual void start();
        virtual void stop();
      };
     
    #endif /*GENETICALGORITHM_H_*/

    Vous en pensez quoi ?

  6. #6
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Je mettraisen virtuel

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

Discussions similaires

  1. Interface graphique java swing awt toolkit
    Par MaxLaMenaX dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 06/11/2008, 15h39
  2. Interface visual Java
    Par Queb dans le forum Débuter
    Réponses: 4
    Dernier message: 21/11/2007, 21h16
  3. Sicstus / Interface prolog java
    Par superhu dans le forum Langage
    Réponses: 1
    Dernier message: 25/03/2007, 15h58
  4. faire des interfaces en Java
    Par 18Marie dans le forum Langage
    Réponses: 1
    Dernier message: 08/09/2006, 20h39
  5. Composants à utiliser pour une interface graphique Java
    Par nicolas.pied dans le forum Composants
    Réponses: 4
    Dernier message: 28/11/2005, 20h27

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