[C con Clase] C++ constructores.

Mar¡Ta - maesiv286 en hotmail.com
Vie Jul 10 06:50:24 CEST 2009



ok,gracias =D
pero si no quiero usar parametros en mi constructor? y quiero q use los valores ingresados por el teclado?? como hago?



Date: Thu, 9 Jul 2009 16:12:04 -0700
From: ecnarvaez en yahoo.com
To: cconclase en listas.conclase.net
Subject: Re: [C con Clase] C++ constructores.

Holas Maria, 
 
el constructor debe por lo general ser solo usado para la inicializacion de variables, el arranque de algun proceso que se requiera, pero nunca solicitar datos del usuario.  
 
en tu caso podrias ya pasarselos como parametros al constructor. 
 
 
triangulo::triangulo( int lado_1, int lado_2, int lado_3 )
{ 
    lado1 = lado_1;
    lado2 = lado_2;
    lado3 = lado_3;
 
   //es todo lo que tendria que hacer el constructor.
}

podrias tambien definirlo desde el .H
 
triangulo( int lado_1, int lado_2, int lado_3 ) : lado1(lado_1), lado2(lado_2), lado3(lado_3) { }
 
 
Entonces lo que tienes que hacer es en el main,
1.- solicitar los valores para los 3 lados del triangulo.
2.- crear tu instancia de Triangulo, pasandole al constructor los valores que obtuviste.
3.- calcula lo que sea necesario con el objeto triangulo.
4.- cuando acabe el main()  se ejecutara tu destructor

otra sugerencia es que:
 
le agregues un metodo a tu clase Triangulo que se llame
 
Init( lado_1, lado_2, lado_3 )
{
    lado1 = lado_1;
    lado2 = lado_2;
    lado3 = lado_3;
}
 
asi los usuarios de tu clase podrian poner los valores que deseen si es que no los han obtenido cuando el objeto Triangulo fue creado :) . y ya por ultimo algun metodo de funcionalidad como  calc_Perimetro();
 
double calc_Perimetro()
{
    return (double)( lado1 + lado2 + lado3 );
}
 
....
 
..
como usarlo:
 
//creo mi objeto
Triangulo obj_triangulo();
//leo los valores
..
//le asigno los valores obtenidos con el metodo Init
obj_triangulo.Init( 10, 20, 30 );
// calculo el perimetro
double peri = obj_triangulo.calc_perimetro();
 
...
 
 
saludos
 

@ECN
GlobalVantage

--- El jue 9-jul-09, Maria Angulo Huiza <maesiv286 en hotmail.com> escribió:


De:: Maria Angulo Huiza <maesiv286 en hotmail.com>
Asunto: [C con Clase] C++ constructores.
A: cconclase en listas.conclase.net
Fecha: jueves 9 de julio de 2009, 15:58







En un constructor se utilizar el 'cin>>' para que ingrese datos, o el constructor solamente trabaja con valores ya asignados en parametros?por qué si le pongo un destructor de la misma clase no aparece su contenido seguido del constructor??
 ejm:

#include<iostream.h>
#include<conio.h>
#include<math.h>
class triangulo
{    public:
        triangulo();
        ~triangulo();
        void mostrar();
    private:
        int lado1;
        int lado2;
        int lado3;
};

triangulo::triangulo()
{clrscr();
    cout<<"\nIgrese lados del triangulo: ";
    cin>>lado1>>lado2>>lado3;}//estara bien que mande a
 introducir valores con el constructor?

triangulo::~triangulo()
{ cout<<"\nDestructor del triangulo! ";
getch();
}

void triangulo::mostrar()
{ float area,p,sp;
    p=(lado1+lado2+lado3);
    sp=p/2;
    area=sqrt(sp*(sp-lado1)*(sp-lado2)*(sp-lado3));
    cout<<"\n\nEL perimetro del triangulo es: "<<p;
    cout<<"\nEL area del triangulo es: "<<area;
}

void main()
{ triangulo m;
m.mostrar();//no me aparece en ningun lado el contenido del desctructor
getch();
}




Disfruta antes que nadie del nuevo Windows Live Messenger 
-----Sigue archivo adjunto-----


_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ




      
¡Obtén la mejor experiencia en la web!
Descarga gratis el nuevo Internet Explorer 8.br>
http://downloads.yahoo.com/ieak8/?l=mx 
_________________________________________________________________
Llévate Messenger en el móvil a todas partes ¡Conéctate!
http://www.microsoft.com/spain/windowsmobile/messenger/default.mspx
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090710/d0f8c887/attachment.html>


Más información sobre la lista de distribución Cconclase