Alguien me puede decir que le pasa a mi código. Cuando intento crear una variable de tipo Segmento me da error y no se por qué. Además de si alguien ve algo que no está del todo bien que lo diga.
#include <iostream> #include <cmath>
using namespace std;
class Punto { private: double ejex, ejey; public: Punto(); Punto(double x, double y); void SetP(double x, double y); double GetX(); double GetY(); double distanciacon(Punto b); };
Punto::Punto(double x, double y) { (*this).ejex=x; (*this).ejey=y; }
Punto::Punto() { (*this).ejex=0; (*this).ejey=0; }
void Punto::SetP(double x, double y) { (*this).ejex=x; (*this).ejey=y; }
double Punto::GetX() { return ejex; }
double Punto::GetY() { return ejey; }
double Punto::distanciacon(Punto b) {
return sqrt(pow((*this).ejex-b.ejex,2)+pow((*this).ejey-b.ejey,2)); }
class Segmento{ private: Punto p1, p2;
public: Segmento(Punto punto1, Punto punto2); void SetS(Punto punto1, Punto punto2); Punto GetP1(); Punto GetP2(); };
Segmento::Segmento(Punto punto1, Punto punto2) { (*this).p1=punto1; (*this).p2=punto2; }
void Segmento::SetS(Punto punto1, Punto punto2) { (*this).p1=punto1; (*this).p2=punto2; }
Punto Segmento::GetP1() { return p1; }
Punto Segmento::GetP2() { return p2; }
int main() { Punto p1, p2; double x1, x2, y1, y2; cout << "Introduce un puntos: "; cin >> x1 >> y1; cout << "Introduce otro punto: "; cin >> x2 >> y2;
p1.SetP(x1,y1); p2.SetP(x2,y2);
cout << "Primer punto: " << "(" << p1.GetX() << "," << p1.GetY() << ")" << endl; cout << "Segundo punto: " << "(" << p2.GetX() << "," << p2.GetY() << ")" << endl; cout << "Distancia entre los dos puntos: " << p1.distanciacon(p2) << endl;
Segmento s1;
|