bonjour,
Je voulais savoir quel était l'analogue d'une interface en java ?
Merci d'avance
bonjour,
Je voulais savoir quel était l'analogue d'une interface en java ?
Merci d'avance
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
non non je parle d'interface objet
Il n'y en a pas en C++ de base: Tu peux simuler cela avec de l'héritage multiple, mais bof...
Une interface c'est bien une classe dont toutes les méthodes sont virtuelles pure?
Si c'est le cas:
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
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; };
Une classe virtuelle pure ?
Une ABC : Abstract Base Class = que des fonctions membre virtuelles pur.
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.Envoyé par Miles
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.
Une classe pouvant implémenter plusieurs 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; };
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager