Utilisation d'interface en c++

Spiffou Messages postés 100 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 9 juin 2014 - 11 déc. 2004 à 20:15
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 12 déc. 2004 à 11:46
salut à tous,
je taf sur vc6 et je souhaiterais utiliser dans mon prog des interfaces, equivalent en java de implements et public interface...

public interface ISearch {
SearchResult searchInImage(byte[][] pSearchImage, MacroBlock pMacroBlock);
}
public class FirstOrder implements ISearch
{
...
}

qqun peut il me dire quels sont les etiquettes à utiliser en c++ pour la declaration d'interface(public interface) et pour son implementation(implements)...

merci beaucoup.

3 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 déc. 2004 à 20:41
L'interface est une invention de Java; pour un équivalent C++ il faut regarder l'héritage multiple. En gros une interface Java est une classe en C++. Comme tu peux faire hériter une classe de plusieurs autres, ca reveint à utiliser un interface Java.
Par contre fais attention l'héritage multiple c'est un peu casse-gueule, c'est pour ca qu'ils l'ont pas mis dans Java.
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
12 déc. 2004 à 10:29
Il me semblait plutôt que l'équivalent de l'interface Java étant la classe virtuelle pure...
C'est à dire, chaque fonction est déclarée comme ça dans la classe :
virtual void MaFonction() = 0;

Après, la classe qui dérive de cette classe de base doit obligatoirement implémenter les fonctions virtuelles pures.

Il me semble que c'est ça les interfaces Java non?

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
12 déc. 2004 à 11:46
Oui aussi mais en Java le fait qu'on doive obligatoirement redéfinir toutes les fonctions je le vois plutot comme une restriction. Et puis les classes virtuelles pures ont leu équivalent en Java avec le mot clé abstract.
Je crois qu'n java on utilise une interface quand on ne peut plus utiliser l'héritage, parce qu'il n'y a pas d'héritage multiple
0
Rejoignez-nous