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 :

Créer une interface comme en java


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 45
    Points : 36
    Points
    36
    Par défaut Créer une interface comme en java
    bonjour,
    Je voulais savoir quel était l'analogue d'une interface en java ?
    Merci d'avance

  2. #2
    Membre averti Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Points : 363
    Points
    363
    Par défaut
    Tu parle d'interfaces graphiques ou d' interfaces objets.
    il existe des bibliothéques de gestion d'interfaces graphiques à télécharger.
    Voir lien suivant:
    http://c.developpez.com/bibliotheques/#Graph

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 45
    Points : 36
    Points
    36
    Par défaut
    non non je parle d'interface objet

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Il n'y en a pas en C++ de base: Tu peux simuler cela avec de l'héritage multiple, mais bof...

  5. #5
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Points : 588
    Points
    588
    Par défaut
    Une interface c'est bien une classe dont toutes les méthodes sont virtuelles pure?

    Si c'est le cas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    interface CInterface
    {
    private:
        int m_iX;
        int m_iY;
    public:
        virtual void DoSomething() = 0;
     
    };
    On peut alors hériter et on devra redéfinir toutes les méthodes de l'interface dans la classe fille. Par contre si on veut instancier l'interface on aura une erreur

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Une classe virtuelle pure ?

  7. #7
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    Une ABC : Abstract Base Class = que des fonctions membre virtuelles pur.

  8. #8
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Citation Envoyé par Miles
    Une classe virtuelle pure ?
    Ceci n'existe pas. Il y a des classes dont toutes les fonctons sont virtuelles pures. Et des classes qui sont des "classes de base virtuelles" pour certains descendants.

    Sinon, l'implémentation classique des interfaces java, c'est l'ABC. A noter toutes fois que le C++ permet plus nativement : des classes abstraites qui s'apparentent à des contrats.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    struct Contrat1 {
        void f(P p) {
            if (p vérifie les pré-conditions de f)
                do_f(p);
            else c_est_selon();
            pareil_post_cond_et_autres_invariants();
        }
    private:
        virtual void f(P p) = 0;
    };
    Une classe pouvant implémenter plusieurs contrats.

Discussions similaires

  1. créer une interface graphique en java ?
    Par CompuTux dans le forum Scilab
    Réponses: 0
    Dernier message: 21/04/2010, 16h12
  2. créer une interface graphique en java
    Par pikamo dans le forum Général Java
    Réponses: 2
    Dernier message: 02/06/2009, 13h30
  3. Créer une interface graphique avec java
    Par omar344 dans le forum Interfaces Graphiques en Java
    Réponses: 26
    Dernier message: 20/06/2007, 13h30
  4. Réponses: 7
    Dernier message: 10/01/2007, 18h41
  5. [AJAX] Créer une interface web pour un programme Java
    Par Wookai dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/03/2006, 10h10

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