Autor
|
Tema: Clases, Constructores y Destructores en C++ (Leído 6,002 veces)
|
ThronerAXE
Desconectado
Mensajes: 27
|
Buenas. Estoy empezando a programar en c++ y estoy aprendiendo parte de las clases, constructores y destructores... en fin. Tengo un codigo que aplica estas 3 cositas. El ejercicio me pide 2 constructores, uno con la informacion de las distancias y otro sin parametros (sobrecarga). Yo hize uno de esos constructores pero no estoy muy seguro cual de los 2 fue el que logre hacer(supongo que es el que no tiene parametros), ahora lo q nose muy bien es como hacer el otro constructor. Ademas a eso, acepto cualquier sugerencia con respecto al codigo que hize y por ultimo, en el codigo del destructor le deje un mensaje para que mostrara ¿ existe algun codigo que haga que pare el programa para poder visualizar el mensaje, ya que use el system("pause") y el cin.get() y ninguno me funciono. NOTA: el programa recibe 3 distancias y calcula el perimetro. #include <iostream.h> #pragma hdrstop #pragma argsused class triangulo { private: float d1,d2,d3; public: triangulo(); float perimetro(float d1,float d2,float d3); ~triangulo(){cout<<"Se ejecuta el DESTRUCTOR";} }; triangulo::triangulo() //CONSTRUCTOR { cout<<"inicia el constructor"<<endl; d1=0; d2=0; d3=0; } float triangulo::perimetro(float d1, float d2, float d3) { float perim; perim=d1+d2+d3; return perim; } int main() { triangulo mitriangulo; int dist1, dist2, dist3; cout<<"Ingrese las 3 distancias(xx xx xx): "; cin>>dist1>>dist2>>dist3; cout<<"el perimetro es "<<mitriangulo.perimetro(dist1,dist2,dist3)<<endl; system("pause"); return 0; }
|
|
|
En línea
|
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
El segundo constructor es muy fácil, simplemente sigue tu instinto: class triangulo { private: float d1,d2,d3; public: triangulo(); triangulo(int c1,int c2,int c3,int c4); // sobrecargando constructor float perimetro(float d1,float d2,float d3); ~triangulo(){cout<<"Se ejecuta el DESTRUCTOR";} }; triangulo::triangulo() //CONSTRUCTOR { cout<<"inicia el constructor"<<endl; d1=0; d2=0; d3=0; } triangulo::triangulo(int c1,int c2,int c3,int c4) { d1=c1; d2=c2; d3=c3; }
Pon dos cin.get() al final, el primero será solo para comerse el buffer.
|
|
|
En línea
|
|
|
|
ThronerAXE
Desconectado
Mensajes: 27
|
ahh en la parte del system("pause") y el cin.get() ellos me funcionan dentro del programa, pero por ejemplo en el caso particular del destructor, estoy dando la salida del mensaje "se ejecuta el DESTRUCTOR" mi pregunta es ¿ como hago para usar alguno de esos codigos para q me pare el programa en el momento en q se ejecuta el destructor para poder ver el mensaje ?
|
|
|
En línea
|
|
|
|
vangodp
Desconectado
Mensajes: 455
|
Una forma de pausar sin usar el system es usar: cin.ignore();Se utiliza con la misma librería iostreamFunciona como mas o menos como system("pause"), o sea espera a que se pulse enter. Es bastante portable al no depender de windows.h o de otras librerías ya que el iostream es standar. El único problema es que al presionar enter te hace pasa a una nueva linea, si no te importa buena es.
|
|
« Última modificación: 11 Diciembre 2013, 02:39 am por vangodp »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
lio con constructores y destructores
Programación C/C++
|
Javincy
|
2
|
2,614
|
8 Febrero 2012, 16:18 pm
por Javincy
|
|
|
[Resuelto] Duda con destructores - vector de una clase
Programación C/C++
|
X3R4CK3R
|
8
|
3,723
|
15 Julio 2013, 17:25 pm
por X3R4CK3R
|
|
|
Destructores en clases administradas C++/CLI
.NET (C#, VB.NET, ASP)
|
SARGE553413
|
0
|
1,694
|
25 Julio 2014, 15:34 pm
por SARGE553413
|
|
|
[SOLUCIONADO] Duda con destructores en C++ (que borrar y que no)
Programación C/C++
|
SARGE553413
|
2
|
2,277
|
16 Agosto 2014, 16:57 pm
por SARGE553413
|
|
|
Sobrecarga de operador y constructores/destructores
Programación C/C++
|
digimikeh
|
8
|
2,761
|
18 Junio 2019, 15:35 pm
por digimikeh
|
|