Witam, robię obecnie kurs obiektowy Pana Mirosława i jestem na odcinku 4. Dla sprawdzenia czy póki co rozumiem obiektówkę napisałem program który porównuje dwa punkty w osi X i osi Y. I prosiłbym, aby ktoś bardziej doświadczony zerknął na ten kod i spróbował wywnioskować czy dobrze zrozumiałem te pierwsze odcinki. Wydaje mi się że jestem gotów, ale chciałbym żeby ktoś spojrzał na to bardziej obiektywnie.
main.cpp
#include <iostream>
#include "porownanie.h"
using namespace std;
void sedzia(Punkt1 p1,Punkt2 p2)
{
if (p1.x>p2.x) cout <<"Punkt o nazwie "<<p1.nazwa<<"J est wyzej na osi x od punktu o nazwie "<<p2.nazwa<<endl;
else if(p1.x==p2.x) cout<<"Punkt "<<p1.nazwa<<" i punkt "<<p2.nazwa<<" znajduja sie w tym samym punkcie na osi x"<<endl;
else cout <<"Punkt o nazwie "<<p2.nazwa<<" Jest wyzej na osi x od punktu o nazwie "<<p1.nazwa<<endl;
if (p1.y>p2.y) cout <<"Punkt o nazwie "<<p1.nazwa<<" Jest wyzej na osi y od punktu o nazwie "<<p2.nazwa<<endl;
else if(p1.y==p2.y) cout<<"Punkt "<<p1.nazwa<<" i punkt "<<p2.nazwa<<" znajduja sie w tym samym punkcie na osi y"<<endl;
else cout <<"Punkt o nazwie "<<p2.nazwa<<" Jest wyzej na osi y od punktu o nazwie "<<p1.nazwa<<endl;
}
int main()
{
Punkt1 p1;
p1.wczytaj();
Punkt2 p2;
p2.wczytaj();
sedzia(p1,p2);
return 0;
}
porownanie.h
#include <iostream>
using namespace std;
class Punkt2;
class Punkt1
{
float x,y;
string nazwa;
public:
Punkt1 (string="A" , float=0, float=0 );
void wczytaj();
friend void sedzia(Punkt1 p1, Punkt2 p2);
};
class Punkt2
{
float x,y;
string nazwa;
public:
Punkt2 (string="B" , float=0, float=0 );
void wczytaj();
friend void sedzia(Punkt1 p1, Punkt2 p2);
};
porownanie.cpp
#include <iostream>
#include "porownanie.h"
using namespace std;
Punkt1::Punkt1 (string n, float xx, float yy)
{
nazwa=n;
x=xx;
y=yy;
}
void Punkt1::wczytaj ()
{
cout<<"Podaj x pierwszego punktu:"; cin>>x;
cout<<"Podaj y pierwszego punktu:"; cin>>y;
cout<<"Podaj nazwe punktu:"; cin>>nazwa;
}
Punkt2::Punkt2 (string n, float xx, float yy)
{
nazwa=n;
x=xx;
y=yy;
}
void Punkt2::wczytaj ()
{
cout<<"Podaj x drugiego punktu:"; cin>>x;
cout<<"Podaj y drugiego punktu:"; cin>>y;
cout<<"Podaj nazwe punktu:"; cin>>nazwa;
}