Spiffou
Messages postés100Date d'inscriptionjeudi 1 avril 2004StatutMembreDernière intervention 9 juin 2014
-
11 déc. 2004 à 20:15
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 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)...
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 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.
Funto66
Messages postés1267Date d'inscriptionmercredi 1 janvier 2003StatutMembreDernière intervention28 février 20074 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/
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 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