Nie wiem czy to mnie ominęło czy coś, ale koleś na youtube ma taki kod
przyjaciele.cpp
#include <iostream>
#include "przyjaciele.h"
using namespace std;
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::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;
}
przyjaciele.h
#include <iostream>
#include "przyjaciele.h"
using namespace std;
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::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;
}
main.cpp
#include <iostream>
#include "przyjaciele.h"
using namespace std;
void sedzia(Punkt pkt, Prostokat p)
{
if((pkt.x>=p.x)&&(pkt.x<=p.x+p.szerokosc)&&(pkt.y>=p.y)&&(pkt.y<=p.y+p.wysokosc))
cout<<endl<<"Punkt "<<pkt.nazwa<<" nalezy do prostokata: "<<p.nazwa;
else
cout<<endl<<"Punkt "<<pkt.nazwa<<" lezy POZA prostokatem: "<<p.nazwa;
}
int main()
{
Punkt pkt1("A",3,1);
Prostokat p1("Prostokat",0,0,6,4);
sedzia(pkt1,p1);
return 0;
}
Zastanawia mnie np. ten fragment kodu
Punkt::Punkt(string n, float xx, float yy)
{
nazwa=n;
x=xx;
y=yy;
}
Dlaczego przypisuje się nowe wartości? Pewnie chodz coś o to, że te wartości są private i wtedy tworzone jakoś są kopie czy coś