#include <iostream>
#include "przyjaciel.h"
using namespace std;
int main()
{
Punkt pkt1("A",3,17);
//pkt1.wczytaj();
Prostokat p1("Prostokat",0,0,6,4);
//p1.wczytaj();
p1.wczytaj();
p1.sedzia();
return 0;
}
#include <iostream>
using namespace std;
class Prostokat;
class Punkt
{
string nazwa;
float x,y;
public:
Punkt(string="A",float=0, float=0);
void wczytaj();
friend class Prostokat;
};
class Prostokat
{
string nazwa;
float x,y,szerokosc,wysokosc;
public:
Prostokat(string="brak",float=0,float=0,float=1,float=1);
void sedzia();
void wczytaj();
friend class Punkt;
};
#include <iostream>
#include "przyjaciel.h"
using namespace std;
Punkt pkt1("A",3,17);
Prostokat p1("Prostokat",0,0,6,4);
Punkt::Punkt(string n, float xx, float yy)
{
nazwa=n;
x=xx;
y=yy;
}
void Punkt::wczytaj()
{
cout<<"Podaj x: "; cin>>x;
cout<<"Podaj y: "; cin>>y;
cout<<"Nazwa punktu: "; cin>>nazwa;
}
Prostokat::Prostokat(string n,float xx,float yy,float s ,float w)
{
nazwa = n;
x=xx;
y=yy;
szerokosc=s;
wysokosc=w;
}
void Prostokat::sedzia()
{
p1.nazwa="PODMIANA";
if((pkt1.x>=p1.x)&&(pkt1.x<=p1.x+p1.szerokosc)&&(pkt1.y>=p1.y)&&(pkt1.y<=p1.y+p1.wysokosc))
cout<<endl<<"Punkt "<<pkt1.nazwa<<" nalezy do prostokata: "<<p1.nazwa;
else
cout<<endl<<"Punkt "<<pkt1.nazwa<<" lezy POZA prostokatem: "<<p1.nazwa;
}
void Prostokat::wczytaj()
{
/*cout<<"Podaj x lewego dolnego naroznika: "; cin>>x;
cout<<"Podaj y lewego dolnego naroznika: "; cin>>y;
cout<<"Podaj szerokosc: "; cin>>szerokosc;
cout<<"Podaj wysokosc: "; cin>>wysokosc;
cout<<"Podaj nazwe prostokata: "; cin>>nazwa;*/
cout<<endl<<"Nazwa obiektu: "<<nazwa;
}
Napisałem program który sprawdza czy punkt leży na prostokącie,funkcja która to sprawdza jest metodą klasy która leży poza main.cpp i utworzenie klasy w mainie nic nie da bo jej nie widzi tamta metoda ,jak to można poprawić żeby nie bylo konieczne tworzenie dwa razy tych samych obiektów? chyba że program może zostać tak jak teraz