En C++, je peux changer l'opérateur sur une classe spécifique en faisant quelque chose comme ceci:opérateur Surcharger en C
MyClass::operator==/*Or some other operator such as =, >, etc.*/(Const MyClass rhs) {
/* Do Stuff*/;
}
Mais être là pas de cours (construit par défaut) dans C. Alors, comment est-ce que je pourrais surcharger l'opérateur pour des fonctions générales? Par exemple, si je me souviens bien, l'importation de stdlib.h vous donne l'opérateur ->, qui est juste du sucre syntaxique pour (* strcut_name) .struct_element.
Alors, comment puis-je faire cela en C?
Merci.
Je ne suis pas sûr de ce que vous sous-entendez en disant "pas de classes (intégrées par défaut)", mais il n'y a pas de classes en C, point. Intégré ou autrement. Et que voulez-vous dire la surcharge de l'opérateur pour les fonctions? Cela n'a pas de sens. – meagar
Eh bien, vous pouvez créer un objet-modèle en C avec des classes, mais ce n'est pas en utilisant une syntaxe autre que la syntaxe C simple. Pour mes tentatives à ce sujet, voir http://jonsterling.github.com/2009/08/28/implementing-object-oriented-programming-in-pure-c.html et http://jonsterling.github.com/2009 /09/07/programmation-objet-oriented-in-c-mark-two.html. –
Jonathan avait la bonne intuition de ce à quoi je souffrais. Je disais que vous pouviez forcer C dans un modèle OOP. –