En C++, puedo cambiar de operador en una clase específica haciendo algo como esto:sobrecarga de operadores en C
MyClass::operator==/*Or some other operator such as =, >, etc.*/(Const MyClass rhs) {
/* Do Stuff*/;
}
Pero sin que existan clases (construido en forma predeterminada) en C. Entonces, ¿cómo ¿podría hacer una sobrecarga del operador solo para funciones generales?
Por ejemplo, si mal no recuerdo, la importación de stdlib.h le proporciona el operador ->, que es simplemente azúcar sintáctica para (* nombre_de_arranque) .struct_element.
Entonces, ¿cómo puedo hacer esto en C?
Gracias.
No estoy seguro de lo que está diciendo al decir "no hay clases (integradas por defecto)", pero no hay clases en C, punto. Built-in o de lo contrario. ¿Y qué quiere decir con la sobrecarga del operador para las funciones? Eso no tiene sentido. – meagar
Bueno, puede crear un modelo de objeto en C con clases, pero no lo hará mediante el uso de sintaxis que no sea la sintaxis C simple. Para mis intentos de esto, vea http://jonsterling.github.com/2009/08/28/implementing-object-oriented-programming-in-pure-c.html y http://jonsterling.github.com/2009 /09/07/objeto-oriented-programming-in-c-mark-two.html. –
Jonathan tenía la intuición adecuada sobre lo que estaba sufriendo. Estaba diciendo que podrías forzar a C a un modelo OOP. –