Buenas a todos,
estoy haciendo este ejercicio, pero por más que he mirado, no encuentro el error que me da cuando compila. Creo haber definido bien todos los ámbitos de las funciones de la clase, pero no hay forma. Este es el MAIN.CPP
// main.cpp
#include <iostream>
#include "Rectangulo.h"
using namespace std;
int main()
{
Rectangulo r1;
r1.establecerRectangulo(2, 2);
r1.calculaPerimetro(r1.conseguirLongitud(), r1.conseguirAnchura());
r1.calculaArea(r1.conseguirLongitud(), r1.conseguirAnchura());
return 0;
}
Aquí tengo la clase Rectángulo (Rectángulo.h):
#ifndef Rectangulo_h
#define Rectangulo_h
class Rectangulo
{
public:
Rectangulo(float = 1.0, float = 1.0);
void establecerRectangulo(float lon, float anc);
float conseguirAnchura();
float conseguirLongitud();
void calculaPerimetro(float largo, float ancho);
void calculaArea(float largo, float ancho);
private:
float anchura;
float longitud;
};
#endif /* Rectangulo_h */
Aquí tengo la definición de las funciones de la clase Rectángulo: (Rectángulo.cpp)
#include <iostream>
using namespace std;
#include "Rectangulo.h"
Rectangulo::Rectangulo(float lon, float anc)
{
establecerRectangulo(lon, anc);
}
void Rectangulo::establecerRectangulo(float lon, float anc)
{
anchura = (anc<20.0) ? anc : 1.0;
longitud = (lon>0.0) ? lon : 1.0;
}
float Rectangulo::conseguirAnchura()
{
return anchura;
}
float Rectangulo::conseguirLongitud()
{
return longitud;
}
void Rectangulo::calculaPerimetro(float largo, float ancho)
{
cout <<"El perímetro es: " << 2*largo+2*ancho << endl;
}
void Rectangulo::calculaArea(float largo, float ancho)
{
cout <<"El área es: " << largo*ancho << endl;
}
Cualquier ayuda os lo agradecería enormemente.
Un saludo a todos.
Edito: Este es el error: