konstruktory - klasa korzystająca z innej klasy

0

Mam 2 klasy - jedna korzysta z drugiej, i nie potrafie stwierdzic dlaczego konstruktor klasy Odcinek2D jest niepoprawny. Jak powinien wyglądac dobry konstruktor?

class punkt2D
{
    public:
    double x,y;
    punkt2D(double os_x,double os_y) ;
    void przesun_punkt(double a,double b);
};

class odcinek2D
{
   public:
    punkt2D a;
    punkt2D b;    
    odcinek2D(punkt2D c, punkt2D d);    
}; 

punkt2D::punkt2D(double os_x,double os_y)
{
    x=os_x;
    y=os_y;
    //cout << "Wspolrzedne punktu to x " << x << " y "<< y << endl;
}

odcinek2D::odcinek2D(punkt2D c, punkt2D d)
{  
    a=c;
    b=d;   
}

0

W przypadku klasy Punkt2d:

class punkt2D
  {
   public:
   double x,y;
   punkt2D():x(0),y(0) {}
   punkt2D(double x,double y):x(x),y(y) {}
  };
1

w klasie odcinek2D też możnaby zastanowić się czy nie warto zrobić konstruktora tak:
odcinek2D(const punkt2D& c, const punkt2D& d);

1 użytkowników online, w tym zalogowanych: 0, gości: 1