bonjour,
Je voulais savoir quel était l'analogue d'une interface en java ?
Merci d'avance
Version imprimable
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 erreurCode:
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.Citation:
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:
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; };