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?


Anmelden zum Antworten