Salut à tous !
Alors voilà ... Je me demandais tout à l'heure comment faire pour avoir une interface en C (une sorte d'objet abstrait dont on ne connait que le nom des méthodes). Du coup, j'ai eu une petite idée et j'ai écrit ça :
Et en fait ... Bah ça marche. Alors ma question, c'est ... Est-ce que c'est propre ? Non parce que ... Bah je sais pas. Pour moi, là, ça tiens un peu de la magie quand même. Mais si c'est propre, je crois que ça pourra servir aux plus tordus d'entre nous !
Merci de vos commentaires !
L.S.
Petite erreur de ma part : il faut remplacer dans les structures sEntier et sReel le paramètre des pointeurs de fonctions *ecrire par void *. Bah oui ... Sinon ... Bah ça marche pas !
Le pb est C, c'est que ya pas de controle de type avec ces pointeurs void. Mais sinon, je vois pas de pb.
Enfin je sais pas si on peut appeler vraiment ca générique, on utilise
les macro en général en C pour faire du généric mais pas sur des
classes entières.
Je vois pas bien le rapport avec "interface", qui doit etre une sorte d'objet abstrait dont on peut dériver quelque chose de plus concret, alors que là c'est directement entier ou réel, pas d'abstraction...
Sinon ça doit pouvoir servir à quelque chose.
En C, les interfaces COM utilisent IDL (interface definition langage) et le compilateur MIDL qui permettent vraiment de "l'objet" en C.