Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Constructores // clases C++

Estas en el tema de Constructores // clases C++ en el foro de C/C++ en Foros del Web. Hola de nuevo! No acabo de entender el uso de constructores. No sé muy bien como mencionarlos en la función main. He hecho el siguiente ...
  #1 (permalink)  
Antiguo 29/09/2008, 08:59
 
Fecha de Ingreso: septiembre-2008
Mensajes: 22
Antigüedad: 15 años, 7 meses
Puntos: 0
Constructores // clases C++

Hola de nuevo!

No acabo de entender el uso de constructores. No sé muy bien como mencionarlos en la función main. He hecho el siguiente programa pero no acaba de funcionar.


#include<iostream.h>
#include<math.h>


class ANGULO{

public:
double ang, seno, coseno, tangente;

ANGULO();
ANGULO (double);

void traducir (double&, double&, double&);

};

int main(void){
double s=0,c=0,t=0;

ANGULO angulo_introducido;

ANGULO();
ANGULO(ang);

angulo_introducido.traducir(s, c, t);

cin.get();
return 0;

}


/////////////////////////////////////////////////////////////////
ANGULO::ANGULO(){
cout << "introduzca el angulo en radianes" << endl;
cin>>ang;

}

ANGULO::ANGULO (double){
seno=sin(ang);
coseno=cos(ang);
tangente=tan(ang);


}

void ANGULO::traducir(double& s , double& c, double& t){
s=seno;
c=coseno;
t=tangente;

cout<<"seno: " << s << endl;
cout << "coseno: " << c << endl;
cout << "tangente: " << t << endl;


}



¿Por qué me pide tres veces "introduce el ángulo en radianes"?

Mil gracias.
  #2 (permalink)  
Antiguo 29/09/2008, 09:48
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Constructores // clases C++

y que paso con tu otro problema?
http://www.forosdelweb.com/2597210-post1.html
  #3 (permalink)  
Antiguo 29/09/2008, 13:27
 
Fecha de Ingreso: septiembre-2008
Mensajes: 22
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Constructores // clases C++

jaja, deje de hacerlo (cuando venga mi profesor de vacaciones ya se lo preguntaré). Muchas gracias de todas formas :D
  #4 (permalink)  
Antiguo 29/09/2008, 14:36
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Constructores // clases C++

ok.
Pues tu codigo tiene muchas fallas y malos habitos.
Para empezar, un constructor es para inicializar un objeto de una clase. Tu lo estas utilizando para llevar a cabo el flujo del programa. Esta permitido, pero es mala practica.

te lo pide 3 veces, porque estas llamando al constructor default 3 veces. Lo que tienes en el constructor lo deberias de tener aparte en una funcion.
se llaman aqui:

1.-ANGULO angulo_introducido; // aqui lo llamas por primera vez, ese esta "bien" (pero mal habito) y lo puedes dejar.
2.- ANGULO(); // esto es totalmente inutil, deberias de borrarlo. Para que lo pusiste segun tu?
3.- ANGULO(ang); // aqui, al no pasarle un valor double, se llama el default. (angulo())


Deberias de revisar el concepto de scope

y tambien de constructores en c++

saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:38.