[C++] error: request for member 'wczytaj' in 'pkt1', which is of non-class type 'Punkt()'
Ostatnio zmodyfikowano 2016-07-16 22:05
adms Temat założony przez niniejszego użytkownika |
[C++] error: request for member 'wczytaj' in 'pkt1', which is of non-class type 'Punkt()' » 2016-07-16 21:43:10 Na samym początku naznaczam, że jest to mój pierwszy temat na tym forum. Jeżeli w jakikolwiek sposób jest niespójny z regulaminem - z góry przepraszam. Tworzę swój pierwszy program z wykorzystaniem funkcji zaprzyjaźnionych. Ma on za zadanie sprawdzać czy punkt o podanych współrzędnych znajduje się w podanym prostokącie. Jednakże przy kompilacji pojawia się następujący error: error: request for member 'wczytaj' in 'pkt1', which is of non-class type 'Punkt()'| error: request for member 'wczytaj' in 'p1', which is of non-class type 'Prostokat()'| main.cpp #include <iostream> #include "spis.h" using namespace std;
void sedzia( Punkt pkt, Prostokat p ) { if(( pkt.x >= p.x ) &&( pkt.x <= p.x + p.szer ) &&( pkt.y >= p.y ) &&( pkt.y <= p.y + p.wys ) ) { cout << endl << "Punkt " << pkt.name << " nalezy do prostokata: " << p.name; } else { cout << endl << "Punkt " << pkt.name << " lezy POZA prostokatem: " << p.name; } }
int main() { Punkt pkt1(); pkt1.wczytaj(); Prostokat p1(); p1.wczytaj(); sedzia( pkt1, p1 ); return 0; }
friends.cpp #include <iostream> #include "spis.h" using namespace std;
Punkt::Punkt( string n, int xx, int yy ) { name = n; x = xx; y = yy; }
void Punkt::wczytaj() { cout << "Nazwa: "; cin >> name; cout << "Wspolzendne x punktu: "; cin >> x; cout << "Wspolzendne y punktu: "; cin >> y; }
Prostokat::Prostokat( string n, int xx, int yy, int sz, int wy ) { name = n; x = xx; y = yy; szer = sz; wys = wy; }
void Prostokat::wczytaj() { cout << "Nazwa: "; cin >> name; cout << "Wspolzendne x lewego dolnego naroznika: "; cin >> x; cout << "Wspolzendne y lewego dolnego naroznika: "; cin >> y; cout << "Szerokosc prostokata: "; cin >> szer; cout << "Wyskokosc prostokata: "; cin >> wys; }
spis.h #include <iostream>
using namespace std;
class Prostokat; class Punkt { private: string name; int x; int y; public: Punkt( string = "A", int = 0, int = 0 ); void wczytaj(); friend void sedzia( Punkt pkt, Prostokat p ); };
class Prostokat { private: string name; int x; int y; int szer; int wys; public: Prostokat( string = "Prostokat", int = 0, int = 0, int = 1, int = 1 ); void wczytaj(); friend void sedzia( Punkt pkt, Prostokat p ); };
|
|
Gibas11 |
» 2016-07-16 21:52:12 Punkt pkt1(); Prostokat p1(); To deklaracje funkcji, wywal nawiasy. //edit Btw prostokąt powinien mieć funkcję „zawiera” albo coś, przyjmującą jeden parametr – punkt. |
|
adms Temat założony przez niniejszego użytkownika |
» 2016-07-16 22:05:29 dzięki wielkie |
|
« 1 » |