<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:10pt;font-family:Monospace">
<p><span style="color:#000000">El Viernes, 10 de Julio de 2009 14:32, Edmundo Cuadriello Narvaez escribió:</span></p>
<p><span style="color:#000000">> Holas Marta,</span></p>
<p><span style="color:#000000">>  </span></p>
<p><span style="color:#000000">> bien la verdad no es lo mas recomendable, pero si asi lo quieres,</span></p>
<p><span style="color:#000000">>  </span></p>
<p><span style="color:#000000">> te cambie un poco tu clase triangulo dale una revisada cualquier duda, me</span></p>
<p><span style="color:#000000">> comentas. . </span></p>
<p><span style="color:#000000">> te mande los archivos .cpp y el .h  ademas del .dsp y .dsw (para el VC++</span></p>
<p><span style="color:#000000">> 6.0 estos dos ultimos) </span></p>
<p><span style="color:#000000">> recibe un saludo</span></p>
<p><span style="color:#000000">>  </span></p>
<p><span style="color:#000000">> ATTE:</span></p>
<p><span style="color:#000000">> ISC Edmundo Cuadriello Narvaez</span></p>
<p><span style="color:#000000">> Software Engineer</span></p>
<p><span style="color:#000000">> C++, X++, C#, JAVA programmer.</span></p>
<p><span style="color:#000000">> Tel: 33-36899320</span></p>
<p><span style="color:#000000">> Cel: 33-13555312</span></p>
<p><span style="color:#000000">> ecnarvaez@yahoo.com</span></p>
<p><span style="color:#000000">> ecnarvaez@hotmail.com</span></p>
<p><span style="color:#000000">> "All for Linux, and Linux for every one"</span></p>
<p></p>
<p></p>
<p><span style="color:#000000">No he resistido a mirar tu triangulo y hay algunas dudas que tengo sobre tus </span></p>
<p><span style="color:#000000">respuestas:</span></p>
<p></p>
<p><span style="color:#000000">---------------------- sacado de los adjuntos ------------------------</span></p>
<p><span style="color:#000000">>   //estara bien que mande a introducir valores con el constructor?</span></p>
<p><span style="color:#000000">>   //ANSWER:  NO, NO ES CORRECTO. </span></p>
<p><span style="color:#000000">>   //esto lo deberias de hacer en el main()</span></p>
<p><span style="color:#000000">----------------------------------------------------------------------</span></p>
<p><span style="color:#000000">La funcion de un constructor es precisamente eso, la correcta inicializacion de las variables miembros de un objeto. El compilador proporcionara un inicializador de oficio, en el mejor de los casos. En este caso lado1, lado2 y lado3 valdran 0. Entonces ¿por que no proporcionar uno con valores por defecto? por ejemplo, el de un triangulo equilatero.</span></p>
<p></p>
<p><span style="color:#000000">una declaracion como: "truangulo m" se inicializara con esos valores que es mejor que tengan valores conocidos que desconocidos. Si el compilador no proporciona un constructor de oficio para la clase, las variables miembros, mejor dicho, las variables tendran basura, consecuencia del uso de esas zonas de memoria por otras aplicaciones.</span></p>
<p></p>
<p><span style="color:#000000">Me parece que es util un "</span><span style="font-weight:600;color:#000000">constructor por defecto</span><span style="color:#000000">", un "</span><span style="font-weight:600;color:#000000">constructor general</span><span style="color:#000000">" con verificacion de parametros (comprobar si lado3 es < que lado2+lado1) y un "</span><span style="font-weight:600;color:#000000">constructor de copia</span><span style="color:#000000">" util para hacer por ejemplo:</span></p>
<p></p>
<p><span style="color:#000000">triangulo m(2,4,3);</span></p>
<p><span style="color:#000000">triangulo n=m;</span></p>
<p><span style="color:#000000">o </span></p>
<p><span style="color:#000000">triangulo n(m);</span></p>
<p></p>
<p><span style="color:#000000">la declaracion del constructor de oficio tendria esta forma</span></p>
<p></p>
<p><span style="font-weight:600;color:#000000">triangulo(const triangulo&)</span><span style="color:#000000">; // luego hay que definirlo.</span></p>
<p></p>
<p><span style="color:#000000">Otra de las observaciones  que puedo hacer es que, como el </span><span style="font-weight:600;color:#000000">perimetro</span><span style="color:#000000"> y el </span><span style="font-weight:600;color:#000000">area </span><span style="color:#000000">son propiedades del triangulo (hay muchas mas, les aseguro, como los puntos notables, la clasificacion segun lados y angulos, etc) se podria incluir como metodos de la clase. (aunque podria formar parte de una clase virtual y ser el trinagulo una clase derivada, pero bueno, lo paramos ahi) </span></p>
<p></p>
<p><span style="color:#000000">Disculpenme, pero no pude resistir a meter mis narices :-)</span></p>
<p></p>
<p></p>
<p><span style="color:#000000">-- </span></p>
<p><span style="color:#000000">Armando B. VERA</span></p>
<p><span style="color:#000000">abvera@arnet.com.ar</span></p>
<p></p>
</body></html>