Witam potrzebuje pomocy z pewnym zadaniem, a mianowicie nie mam pojęcia jak zabrać się za drugą cześć zadania:
-
Zdefiniować klasę PUNKT, która implementuje punkt w przestrzeni dwuwymiarowej.
W klasie PUNKT zdefiniować konstruktor, który tworzy punkt o współrzędnych w początku
układu współrzednych x,y oraz konstruktor przeciążony, który tworzy punkt w zadanych
współrzednych. W klasie tej zdefiniować zaprzyjaźnione funkcje operatorowe, przeciążające
operatory >> i << oraz funkcję operatorową przeciążającą operator + do "dodawania" dwóch
punktów na płaszczyźnie. W klasie zdefiniować publiczną metodę, która obliczy odległość
od punktu bieżącego do wskazanego punktu. -
Wykorzystać zdefiniowaną w 1 klasę do utworzenia n punktów (wskaźniki na nie
przechowywać w tablicy), a następnie umożliwić "sumowanie" wybranych par punktów
oraz obliczanie odległości pomiędzy parami wskazanych punktów.
Przeciążone operatory >> i << wykorzystać do wprowadzania danych i wyśwetlania
wyników (np. współrzędnych "sum" punktów )
rozwiązanie pierwszej części:
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <iomanip>
using namespace std;
class PUNKT{
private: double x,y;
public: PUNKT (double xx, double yy);
PUNKT (void);
friend istream& operator>>(istream&, PUNKT&);
friend ostream& operator << (ostream&, PUNKT&);
friend PUNKT& operator + (PUNKT&, PUNKT&);
double dist (PUNKT&p);
double getX (void) {return x;}
double getY (void) {return y;}
};
PUNKT::PUNKT (double xx, double yy){
x=xx;
y=yy;}
PUNKT::PUNKT(void) {x=0; y=0;}
istream& operator >>(istream& s, PUNKT&p)
{
cout<<"podaj wspolrzedne punktu";
cin>>p.x>>p.y;}
osteram & operator << (ostream &s, PUNKT &p);
{ s<<"pinkt o wspolrzednych :"[<<x","<<y"]"endl;}
double PUNKT:: dist(PUNKT*p){
double vx=this -> x -p -> get x ();
double vy=this -> y -p -> get();
return sqrt(vx*vx+vy*vy);
dodałem < code>... - msm