Hola Jorge Antonio,<br><br><div class="gmail_quote">2010/5/19 Jorge García <span dir="ltr"><<a href="mailto:jorgeantonio49@gmail.com">jorgeantonio49@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hola!<br>
Ya tengo un rato programando y me da un poco de pena hacer esta<br>
pregunta, por que me imagino que la respuesta es trivial, solo que he<br>
buscado y no encuentro solución que me agrade.<br>
<br>
¿Hay algún método que pueda implementar para poder usar una clase hecha<br>
por con cout y cin?<br>
<br>
Concretamente tengo una clase Vector3D y me gustaría definirle un<br>
comportamiento del estilo:<br>
<br>
Vector3D a(1, 0, 1);<br>
<br>
cout << "a = " << a << endl;<br>
<br>
¿Es posible hacerlo? y si si, ¿Como es el prototipo del método?<br>
Gracias de antemano<br>
<br></blockquote><div><br><br>Sí, claro. Esto se trata de la sobrecarga de operadores. De hecho, el operador << ya está sobrecargado para los tipos fundamentales. Simplemente agrega otra sobrecarga para tu tipo que es la clase 'Vector3D'. Esto es,<br>
<br>ostream & operator<<( ostream &os, const Vector3D &v )<br>{<br>  return os << '(' << v.x() << ',' << v.y() << ',' << v.z() << ')';<br>
}<br><br>O algo parecido.<br><br>Para que funcione para 'cin', usa este prototipo:<br><br>istream & operator>>( istream &is, Vector3D &v );<br><br>Realmente, podemos usar otras clases que deriven de estas dos, como puede ser 'ofstream' e 'ifstream' para ficheros.<br>
<br><br>Espero haber aclarado la duda.<br> </div></div>Steven<br><br>