Funcion miembro Como implementarla C++

Iniciado por Ja_90, 1 Septiembre 2015, 16:40 PM

0 Miembros y 1 Visitante están viendo este tema.

Ja_90

Buenas, ando por aca empezando con POO y tengo una duda con el siguente ejercicio:

CitarConstruir una clase llamada Rectangulo que tenga miem-
bros de datos en número de precisión doble llamados largo
y ancho. La clase deberá tener una función miembro llamada
perímetros() y area() para calcular el perímetro y el área de
un rectángulo, una función miembro llamada getDatos() que
despliegue el largo, ancho, perímetro y área de un rectángulo.

Por Ahora ya tengo lo que es el Area y el el pereimetro de la siguiente manera pero como hago la funcion miembro getDatos()... porque en cada funcion me devuelve un valor especifico, pero cuando tengo que mostrar todos esos datos como seria la sintaxis del metodo.... Muchas gracias a quien pueda orientarme....

Código (cpp) [Seleccionar]

#include <iostream>

using namespace std;

class Rectangulo{
                   double Ancho, Largo;  // atributos

                   public:
                          Rectangulo(double An, double La); // Constructor
// Metodos
                          void set_Ancho(double An);
                          void set_Largo(double La);

                          double get_Area();
                          double get_Perimetro();

                };

// Implementacion de metodos
Rectangulo::Rectangulo(double An, double La){ Ancho = An;
                                              Largo = La;
                                            }
void Rectangulo::set_Ancho(double An){ Ancho = An;}
void Rectangulo::set_Largo(double La){ Largo = La;}

double Rectangulo::get_Area(){ return Ancho*Largo;}
double Rectangulo::get_Perimetro(){ return (2*Ancho)+(2*Largo);}

int main()
{
  Rectangulo rectangulo(5,7);

  cout << " AREA: " << rectangulo.get_Area() << endl;
  cout << " PERIM: " << rectangulo.get_Perimetro() << endl;


  return 0;
}
:D  ::::Ja_90::::   :D

ivancea96

Sin ir más lejos, puedes copiar los cout del main en el nuevo método.

Salvo que lo que quieras sea retornar una cadena con todos los datos. En ese caso, algo así serviría:

Código (cpp) [Seleccionar]
double Rectangulo::getDatos(){
    return "Ancho: " + to_string(Ancho) + "\n Largo: " + to_string(Largo);
}


Ya haces lo que veas en la función.

Ja_90

Gracias ivancea96 hice lo primero que me dijiste asi:

Código (cpp) [Seleccionar]
double Rectangulo::get_Datos(){ cout << " Ancho: " << Ancho << endl;
                                cout << " Largo: " << Largo << endl;
                                cout << " Area: " << get_Area() << endl;
                                cout << " Perimetro: " << get_Perimetro() << endl;
                              }
:D  ::::Ja_90::::   :D

ivancea96

Ten en cuenta que así la función será void, no double.

Ja_90

Listo, si tienes toda la razon, ya lo corregi....Muchas gracias.. ;-)
:D  ::::Ja_90::::   :D