Mianowicie mam problem z kodem. Komunikat otrzymuje o braku deklaracji, nie mam pojęcia dlaczego. Czy ktoś mógłby pomóc?
#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, 17); Prostokat p1("Prostokat", 0, 0, 6, 4); sedzia(pkt1, p1); 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 void sedzia(Punkt pkt, Prostokat p); 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 wczytaj(); void sedzia(); friend class Punkt; };
#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; } void Prostokat::sedzia(Punkt pp, Prostokat prro) { 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; }