Klassen \\ Punkt setzen
-
Hallo,
Ich habe ein Problem mit meinen Klassen,:
Relevanter Teil der main:
#include <string.h> #include <iostream> #include "Header.h" void main() { Punkt pt1(2, 2); Punkt pt2(5, 15); pt1.print(); pt2.print(); g1.Enthaelt(pt1); g1.Enthaelt(pt2); }
class Punkt { private: int number; int x; int y; public: Punkt(int x = 0, int y = 0); void setX(int x); void setY(int y); int getX(); int getY(); void print(); }; class Geom { private: int number; int typ; int laenge; int breite; int radius; int farbe; Punkt position; public: Geom(Punkt p, int radius), Geom(Punkt p, int laenge, int breite); . . . void print(); bool Enthaelt(Punkt p); };
Das problem liegt meiner Meinung nach in getX() bzw getY()
int Punkt::getX() { return (this->x); }; int Punkt::getY() { return (this->y); };
Denn wenn ich die x und y koordinaten mit print ausgeben will:
void Punkt::print() { cout << this->x << "|" << this->y << endl; };
Klappt es einwandfrei.
Letztenendes möchte ich die x und y Koordinaten weiterverwenden, es steht aber lediglich 0 darin...
Wenn ich p.x bzw p.y schreibe, sagt mir der compiler, kein Zugriff, da x und y private sind... Daher verwende ich getX() und getY().
[/code]bool Geom::Enthaelt(Punkt p) { bool key = 0; Punkt k; int x = k.getX(); int y = k.getY(); cout << "Punkt x: " << x << endl; cout << "Punkt y: " << y << endl; return key; };
-
Okay, ich habe das Problem mittlerweile gelöst.
-
anonn schrieb:
bool Geom::Enthaelt(Punkt p) { bool key = 0; Punkt k; int x = k.getX(); int y = k.getY(); cout << "Punkt x: " << x << endl; cout << "Punkt y: " << y << endl; return key; };
Welchen Wert sollten x und y denn deiner Meinung nach haben? Warum?