mi problema es que muchos objetos no tengo idea de donde son instanceados, entonces termino viendo en el codigo funciones y objetos iguales, incluso los nombres son un desastre.<br>tengo <br><br>x(algo,otra_cosa);<br>objeto->funcion(algo);<br>

funcion(asd);<br>algo(asd); y no se si es funcion, objeto,la palabra divina o el monitor que tira cosas al azar.<br>y esto se extiende en unos varios miles de archivos.....<br><br>David<br><br><br><br><br><br><div class="gmail_quote">

El 19 de agosto de 2009 15:56, Steven Davidson <span dir="ltr"><<a href="mailto:srd4121@njit.edu">srd4121@njit.edu</a>></span> escribió:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hola David,<div class="im"><br>
<br>
David fire wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
hola<br>
alguien tiene algo de info sobre la sobrecarga del operador "( )".<br>
ya se que el codigo se hace ilegible, no lo hice yo toy leyendo un codigo que tiene eso y necesito algo de info apra poder desifrar el codigo. entre ellas este operador es unario? binario? n-ario?<br>
</blockquote>
<br></div>
Es n-ario, pero requiere como mínimo un operando, como es lógico.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
se les ocurre alguna forma de saber si se esta usando la sobrecarga<br>
del operador y no una llamada a funcion? que no signifique saber<br>
todas las variables del codigo.<br>
</blockquote>
<br></div>
Recuerda que una llamada a una función requiere el nombre de la función o al menos un puntero a la función. Si usamos el operador () sobrecargado, entonces el primer operando es un objeto. Por ejemplo,<br>
<br>
class Cuadratica<br>
{<br>
private:<br>
  double x;<br>
<br>
public:<br>
  Cuadratica( double xx = 0.0 ) : x(xx) {}<br>
<br>
  double operator()( double a, double b, double c )<br>
  {<br>
    return (a*x + b)*x + c;<br>
  }<br>
};<br>
<br>
Usamos este operador de la siguiente manera:<br>
<br>
int main()<br>
{<br>
  Cuadratica x(5.0);<br>
<br>
  cout << "-2x^2 + 3x - 5 = " << x(-2,3,-5) << endl;<br>
  cout << "Nota: x = " << x << endl;<br>
<br>
  return 0;<br>
}<br>
<br>
Aquí podemos ver claramente que 'x' es un objeto de la clase 'Cuadratica'. Si 'x' fuese declarada como una función (o un puntero a una función), entonces aparecería su prototipo por alguna parte.<br>


<br>
Obviamente, se permite la sobrecarga del operador () para que las expresiones aparenten ser llamadas a funciones.<br>
<br>
<br>
Espero haber aclarado la duda.<br>
<br>
Steven<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <br><br>