<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Neu in C++ (Getter&#x2F;Setter) Methoden]]></title><description><![CDATA[<p>Hallo Leute bin neu in der C++ Welt. Ich habe eine &quot;einfache&quot; Aufgabe bekommen (Flächen Berechnung) von verschiedenen Körpern.<br />
Am besten poste ich mal den Code und erkläre es dann.<br />
Meine main.cpp:</p>
<pre><code class="language-cpp">#include &quot;GeomObjektHeader.h&quot;
#include &lt;iostream&gt;

using namespace std;

int main(void)
{
	int anzahl  = 0;
	int eingabe = 0;
	char auswahl;
	double x;
	double y;

	GeomObjekt objekt;

	cout &lt;&lt; &quot;Anzahl der Objekte: &quot;;
	cin  &gt;&gt; anzahl;	
	cout &lt;&lt; endl;

	objekt.zeigeObjekte();

	do
	{
		eingabe++;
		cout &lt;&lt; endl;
		cout &lt;&lt; eingabe &lt;&lt; &quot;. Objekt ist ein: &quot;;
		cin  &gt;&gt; auswahl;

		if(auswahl == 'p')
			objekt.setName(&quot;Punkt&quot;);
		else if(auswahl == 'q')
			objekt.setName(&quot;Quadrat&quot;);
		else if(auswahl == 'r')
			objekt.setName(&quot;Rechteck&quot;);
		else if(auswahl == 'k')
			objekt.setName(&quot;Kreis&quot;);
//Hier versuche ich die Werte einzulesen und dann als setter zu setzen.
//Aber wenn ich 2 oder mehr Objekte habe, dann gibt er immer nur das letzte 
//Objekt aus.
		cout &lt;&lt; endl;		
		cout &lt;&lt; &quot;X = &quot;;
		cin  &gt;&gt; x;		
		cout &lt;&lt; &quot;Y = &quot;;
		cin  &gt;&gt; y; 
		cout &lt;&lt; endl;
		objekt.setXpos(x);
		objekt.setYpos(y);
//Ich wüsste nicht, wie ich a und b einlesen sollte wenn ich ein Quadrat oder //Recht eingebe? Somit habe ich erstmal nichts berechnet.
	}
	while(eingabe &lt; anzahl);		

	eingabe = 0;
	cout &lt;&lt; &quot;Folgende Objekte wurden eingegeben:&quot;;
	do
	{
		eingabe++;
		cout &lt;&lt; endl;
		cout &lt;&lt; eingabe &lt;&lt; &quot;. Objekt ist ein &quot;;
		/*cout &lt;&lt; objekt.getName; //Warnung: Größenkonflikt. Warum??
		cout &lt;&lt; &quot;:&quot;;
		cout &lt;&lt; &quot;P(&quot;; 
		cout &lt;&lt; objekt.getXpos; //Warnung: Größenkonflikt. Warum??
		cout &lt;&lt; &quot;,&quot;; 
		cout &lt;&lt; objekt.getYpos; //Warnung: Größenkonflikt. Warum??
		cout &lt;&lt; &quot;)&quot;;*/
		objekt.ausgabe();
	}
	while(eingabe &lt; anzahl);	

	cout &lt;&lt; &quot;\n\n&quot;;
	return 0;
}
</code></pre>
<p>GeomObjekt.cpp:</p>
<pre><code class="language-cpp">#include &quot;GeomObjektHeader.h&quot;
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

GeomObjekt::GeomObjekt()
{
	xpos = 0;
	ypos = 0;
}

void GeomObjekt::zeigeObjekte()
{
	cout &lt;&lt; &quot;Eingabe der Objekte&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;  p - Punkt&quot;				&lt;&lt; endl;
	cout &lt;&lt; &quot;  q - Quadrat&quot;		   	&lt;&lt; endl;
	cout &lt;&lt; &quot;  r - Rechteck&quot;			&lt;&lt; endl;
	cout &lt;&lt; &quot;  k - Kreis&quot;				&lt;&lt; endl;
}

void GeomObjekt::setzeWerte(int Xpos, int Ypos, char Name[10], char Color[10])
{
	xpos = Xpos;
	ypos = Ypos;
	strcpy(name, Name);
	strcpy(color, Color);
}

void GeomObjekt::zeigeWerte()
{
	cout &lt;&lt; endl;
	cout &lt;&lt; name &lt;&lt; endl;
	cout &lt;&lt; &quot;  X = &quot;&lt;&lt; xpos &lt;&lt; endl;
	cout &lt;&lt; &quot;  Y = &quot;&lt;&lt; ypos &lt;&lt; endl;
}

void GeomObjekt::ausgabe()
{
	cout &lt;&lt; name &lt;&lt; &quot;:&quot; &lt;&lt; &quot; P(&quot; &lt;&lt; xpos &lt;&lt; &quot;, &quot; &lt;&lt; ypos &lt;&lt; &quot;)&quot;;
}

double GeomObjekt::umfangBerechnung(double u)
{
	U = 2 * u;
	return U;
}

double GeomObjekt::flaechenBerechnung(double a, double b)
{
	A = a * b;
	return A;
}

/* Getter und Setter */
double GeomObjekt::getXpos()
{
	return xpos;
}

void GeomObjekt::setXpos(double Xpos)
{
	xpos = Xpos;
}

double GeomObjekt::getYpos()
{
	return ypos;
}

void GeomObjekt::setYpos(double Ypos)
{
	ypos = Ypos;
}

char GeomObjekt::getName()
{
	return (char)name; //Bin mir nicht sicher ob ich das so machen sollte?
}

void GeomObjekt::setName(char Name[10])
{
	strcpy(name, Name);
}

char GeomObjekt::getColor()
{
	return (char)color; //Hier genauso!?
}

void GeomObjekt::setColor(char Color[10])
{
	strcpy(color, Color);
}

double GeomObjekt::getU()
{
	return U;
}

void GeomObjekt::setU(double u)
{
	U = u;
}

double GeomObjekt::getA()
{
	return A;
}

void GeomObjekt::setA(double a, double b)
{
	A = a * b;
}
</code></pre>
<p>Zu den Getter/Setter mit den Namen/Color würde ich noch den Header posten wollen. Da soll ich eigentlich nur einen Namen und eine Farme speichern können. Ich habe das als char name[10] und char color[10] gemacht.<br />
So etwa:</p>
<p>Der Header:</p>
<pre><code class="language-cpp">#ifndef GEOMOBJEKT_H
#define GEOMOBJEKT_H

class GeomObjekt
{
public:
	GeomObjekt();
	void	 setzeWerte(int, int, char Name[10], char Color[10]);
	void	 zeigeObjekte();
	void	 zeigeWerte();
	void	 ausgabe();
	double umfangBerechnung(double);
	double flaechenBerechnung(double, double);

	double getXpos();
	void	 setXpos(double);

	double getYpos();
	void	 setYpos(double);

	char	 getName();
	void	 setName(char Name[10]);

	char	 getColor();
	void	 setColor(char Color[10]);

	double getU();
	void	 setU(double);

	double getA();
	void	 setA(double, double);

private:
	double xpos;
	double ypos;
	char name[10]; //Wollte hier nur einen Namen speichern.
	char color[10];//Und hier eine Farbe. 
	double U;
	double A;
};

#endif
</code></pre>
<p>Problem:<br />
Der Benutzer kriegt die abfrage, wieviele Objekte er eingeben möchte. Dann werden die Objekte angezeigt (Punkt p, Quadrat q, Rechteck r, Kreis k -&gt; siehe void GeomObjekt::zeigeObjekte() in der GeomObjekt.cpp). Dann wählt er aus. Und anschließend soll alles berechnet werden (Umfang und Fläche) und ausgegeben werden.<br />
Ich kriege es nicht hin, dass ich 2 Objekte eingeben kann. Irgendwie überschreibe ich es immer und gebe das letzte eingegebene wieder aus(siehe Kommentar in main.cpp).<br />
-------------------------------------<br />
Ausgabe in so etwa:<br />
Anzahl der Objekte: 2</p>
<p>Eingabe der Objekte<br />
p - Punkt<br />
q - Quadrat<br />
r - Rechteck<br />
k - Kreis</p>
<p>1.Objekt ist ein: p (das ist die Eingabe: p)<br />
Punkt<br />
X = 1(Koordinate eingeben)<br />
Y = 3(Koordinate eingeben)</p>
<p>2.Objekt ist ein: q<br />
Quadrat<br />
X = 1(Koordinate eingeben)<br />
Y = 4(Koordinate eingeben)<br />
a = 2</p>
<p>Folgende Objekte wurden eingegeben:<br />
1. Objekt ist ein Punkt: P(1,3)<br />
U = 0<br />
A = 0 (Punkt hat ja keine Fläche/Umfang)<br />
2. Objekt ist ein Quadrat: P(1,4)<br />
U = 8 (da a=2 war U=4<em>a)<br />
A = 4 (A=a</em>a)<br />
---------------------------------------------</p>
<p>Tut mir sehr leid, dass es zu lang geworden ist, aber ich dachte es ist besser, wenn ich euch alles zeige, damit ihr dann ein &quot;Überblick&quot; habt.<br />
Hoffe ihr könnt mir helfen!<br />
Fasse kurz zusammen:<br />
- Kann nicht mehr als 2 Objekte einlesen.<br />
- Es wird immer nur das letzte Objekt ausgegeben<br />
- Wüsste auch nicht wie ich a oder b für Quadrat/Rechteck einlesen soll<br />
- Darum habe ich noch nichts berechnet</p>
<p>(Sorry nochmal für den langen code)<br />
Gruß<br />
Manda</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242690/neu-in-c-getter-setter-methoden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 21:15:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242690.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 07 Jun 2009 07:42:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 07:42:30 GMT]]></title><description><![CDATA[<p>Hallo Leute bin neu in der C++ Welt. Ich habe eine &quot;einfache&quot; Aufgabe bekommen (Flächen Berechnung) von verschiedenen Körpern.<br />
Am besten poste ich mal den Code und erkläre es dann.<br />
Meine main.cpp:</p>
<pre><code class="language-cpp">#include &quot;GeomObjektHeader.h&quot;
#include &lt;iostream&gt;

using namespace std;

int main(void)
{
	int anzahl  = 0;
	int eingabe = 0;
	char auswahl;
	double x;
	double y;

	GeomObjekt objekt;

	cout &lt;&lt; &quot;Anzahl der Objekte: &quot;;
	cin  &gt;&gt; anzahl;	
	cout &lt;&lt; endl;

	objekt.zeigeObjekte();

	do
	{
		eingabe++;
		cout &lt;&lt; endl;
		cout &lt;&lt; eingabe &lt;&lt; &quot;. Objekt ist ein: &quot;;
		cin  &gt;&gt; auswahl;

		if(auswahl == 'p')
			objekt.setName(&quot;Punkt&quot;);
		else if(auswahl == 'q')
			objekt.setName(&quot;Quadrat&quot;);
		else if(auswahl == 'r')
			objekt.setName(&quot;Rechteck&quot;);
		else if(auswahl == 'k')
			objekt.setName(&quot;Kreis&quot;);
//Hier versuche ich die Werte einzulesen und dann als setter zu setzen.
//Aber wenn ich 2 oder mehr Objekte habe, dann gibt er immer nur das letzte 
//Objekt aus.
		cout &lt;&lt; endl;		
		cout &lt;&lt; &quot;X = &quot;;
		cin  &gt;&gt; x;		
		cout &lt;&lt; &quot;Y = &quot;;
		cin  &gt;&gt; y; 
		cout &lt;&lt; endl;
		objekt.setXpos(x);
		objekt.setYpos(y);
//Ich wüsste nicht, wie ich a und b einlesen sollte wenn ich ein Quadrat oder //Recht eingebe? Somit habe ich erstmal nichts berechnet.
	}
	while(eingabe &lt; anzahl);		

	eingabe = 0;
	cout &lt;&lt; &quot;Folgende Objekte wurden eingegeben:&quot;;
	do
	{
		eingabe++;
		cout &lt;&lt; endl;
		cout &lt;&lt; eingabe &lt;&lt; &quot;. Objekt ist ein &quot;;
		/*cout &lt;&lt; objekt.getName; //Warnung: Größenkonflikt. Warum??
		cout &lt;&lt; &quot;:&quot;;
		cout &lt;&lt; &quot;P(&quot;; 
		cout &lt;&lt; objekt.getXpos; //Warnung: Größenkonflikt. Warum??
		cout &lt;&lt; &quot;,&quot;; 
		cout &lt;&lt; objekt.getYpos; //Warnung: Größenkonflikt. Warum??
		cout &lt;&lt; &quot;)&quot;;*/
		objekt.ausgabe();
	}
	while(eingabe &lt; anzahl);	

	cout &lt;&lt; &quot;\n\n&quot;;
	return 0;
}
</code></pre>
<p>GeomObjekt.cpp:</p>
<pre><code class="language-cpp">#include &quot;GeomObjektHeader.h&quot;
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

GeomObjekt::GeomObjekt()
{
	xpos = 0;
	ypos = 0;
}

void GeomObjekt::zeigeObjekte()
{
	cout &lt;&lt; &quot;Eingabe der Objekte&quot; &lt;&lt; endl;
	cout &lt;&lt; &quot;  p - Punkt&quot;				&lt;&lt; endl;
	cout &lt;&lt; &quot;  q - Quadrat&quot;		   	&lt;&lt; endl;
	cout &lt;&lt; &quot;  r - Rechteck&quot;			&lt;&lt; endl;
	cout &lt;&lt; &quot;  k - Kreis&quot;				&lt;&lt; endl;
}

void GeomObjekt::setzeWerte(int Xpos, int Ypos, char Name[10], char Color[10])
{
	xpos = Xpos;
	ypos = Ypos;
	strcpy(name, Name);
	strcpy(color, Color);
}

void GeomObjekt::zeigeWerte()
{
	cout &lt;&lt; endl;
	cout &lt;&lt; name &lt;&lt; endl;
	cout &lt;&lt; &quot;  X = &quot;&lt;&lt; xpos &lt;&lt; endl;
	cout &lt;&lt; &quot;  Y = &quot;&lt;&lt; ypos &lt;&lt; endl;
}

void GeomObjekt::ausgabe()
{
	cout &lt;&lt; name &lt;&lt; &quot;:&quot; &lt;&lt; &quot; P(&quot; &lt;&lt; xpos &lt;&lt; &quot;, &quot; &lt;&lt; ypos &lt;&lt; &quot;)&quot;;
}

double GeomObjekt::umfangBerechnung(double u)
{
	U = 2 * u;
	return U;
}

double GeomObjekt::flaechenBerechnung(double a, double b)
{
	A = a * b;
	return A;
}

/* Getter und Setter */
double GeomObjekt::getXpos()
{
	return xpos;
}

void GeomObjekt::setXpos(double Xpos)
{
	xpos = Xpos;
}

double GeomObjekt::getYpos()
{
	return ypos;
}

void GeomObjekt::setYpos(double Ypos)
{
	ypos = Ypos;
}

char GeomObjekt::getName()
{
	return (char)name; //Bin mir nicht sicher ob ich das so machen sollte?
}

void GeomObjekt::setName(char Name[10])
{
	strcpy(name, Name);
}

char GeomObjekt::getColor()
{
	return (char)color; //Hier genauso!?
}

void GeomObjekt::setColor(char Color[10])
{
	strcpy(color, Color);
}

double GeomObjekt::getU()
{
	return U;
}

void GeomObjekt::setU(double u)
{
	U = u;
}

double GeomObjekt::getA()
{
	return A;
}

void GeomObjekt::setA(double a, double b)
{
	A = a * b;
}
</code></pre>
<p>Zu den Getter/Setter mit den Namen/Color würde ich noch den Header posten wollen. Da soll ich eigentlich nur einen Namen und eine Farme speichern können. Ich habe das als char name[10] und char color[10] gemacht.<br />
So etwa:</p>
<p>Der Header:</p>
<pre><code class="language-cpp">#ifndef GEOMOBJEKT_H
#define GEOMOBJEKT_H

class GeomObjekt
{
public:
	GeomObjekt();
	void	 setzeWerte(int, int, char Name[10], char Color[10]);
	void	 zeigeObjekte();
	void	 zeigeWerte();
	void	 ausgabe();
	double umfangBerechnung(double);
	double flaechenBerechnung(double, double);

	double getXpos();
	void	 setXpos(double);

	double getYpos();
	void	 setYpos(double);

	char	 getName();
	void	 setName(char Name[10]);

	char	 getColor();
	void	 setColor(char Color[10]);

	double getU();
	void	 setU(double);

	double getA();
	void	 setA(double, double);

private:
	double xpos;
	double ypos;
	char name[10]; //Wollte hier nur einen Namen speichern.
	char color[10];//Und hier eine Farbe. 
	double U;
	double A;
};

#endif
</code></pre>
<p>Problem:<br />
Der Benutzer kriegt die abfrage, wieviele Objekte er eingeben möchte. Dann werden die Objekte angezeigt (Punkt p, Quadrat q, Rechteck r, Kreis k -&gt; siehe void GeomObjekt::zeigeObjekte() in der GeomObjekt.cpp). Dann wählt er aus. Und anschließend soll alles berechnet werden (Umfang und Fläche) und ausgegeben werden.<br />
Ich kriege es nicht hin, dass ich 2 Objekte eingeben kann. Irgendwie überschreibe ich es immer und gebe das letzte eingegebene wieder aus(siehe Kommentar in main.cpp).<br />
-------------------------------------<br />
Ausgabe in so etwa:<br />
Anzahl der Objekte: 2</p>
<p>Eingabe der Objekte<br />
p - Punkt<br />
q - Quadrat<br />
r - Rechteck<br />
k - Kreis</p>
<p>1.Objekt ist ein: p (das ist die Eingabe: p)<br />
Punkt<br />
X = 1(Koordinate eingeben)<br />
Y = 3(Koordinate eingeben)</p>
<p>2.Objekt ist ein: q<br />
Quadrat<br />
X = 1(Koordinate eingeben)<br />
Y = 4(Koordinate eingeben)<br />
a = 2</p>
<p>Folgende Objekte wurden eingegeben:<br />
1. Objekt ist ein Punkt: P(1,3)<br />
U = 0<br />
A = 0 (Punkt hat ja keine Fläche/Umfang)<br />
2. Objekt ist ein Quadrat: P(1,4)<br />
U = 8 (da a=2 war U=4<em>a)<br />
A = 4 (A=a</em>a)<br />
---------------------------------------------</p>
<p>Tut mir sehr leid, dass es zu lang geworden ist, aber ich dachte es ist besser, wenn ich euch alles zeige, damit ihr dann ein &quot;Überblick&quot; habt.<br />
Hoffe ihr könnt mir helfen!<br />
Fasse kurz zusammen:<br />
- Kann nicht mehr als 2 Objekte einlesen.<br />
- Es wird immer nur das letzte Objekt ausgegeben<br />
- Wüsste auch nicht wie ich a oder b für Quadrat/Rechteck einlesen soll<br />
- Darum habe ich noch nichts berechnet</p>
<p>(Sorry nochmal für den langen code)<br />
Gruß<br />
Manda</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722562</guid><dc:creator><![CDATA[MandaJohn]]></dc:creator><pubDate>Sun, 07 Jun 2009 07:42:30 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 08:14:31 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>die main.cpp hätte völlig gereicht, denn schon dort sieht man warum es nicht geht. Du hast nur ein Objekt der Klasse GeomObjekt und schreibst immer wieder neue Daten rein. Das Stichwort wäre hier Array oder um es gleich mit dem Standard zu machen der hierfür geeignet wäre. std::vector<br />
<a href="http://www.cplusplus.com/reference/stl/vector/" rel="nofollow">http://www.cplusplus.com/reference/stl/vector/</a></p>
<p>Dann das hier:</p>
<pre><code class="language-cpp">/*cout &lt;&lt; objekt.getName; //Warnung: Größenkonflikt. Warum??
        cout &lt;&lt; &quot;:&quot;;
        cout &lt;&lt; &quot;P(&quot;;
        cout &lt;&lt; objekt.getXpos; //Warnung: Größenkonflikt. Warum??
        cout &lt;&lt; &quot;,&quot;;
        cout &lt;&lt; objekt.getYpos; //Warnung: Größenkonflikt. Warum??
</code></pre>
<p>Was auch immer das mit dem Größenkonflikt soll, da fehlen Klammern hinter den Funktionsnamen.</p>
<p>Ansonsten wäre anzuraten für die Namen und Farben std::string zu nehmen, dann bekommst du auch kein Problem wenn Name oder Farbe &gt; 9 Zeichen ist.</p>
<p>#edit: Ups überlesen...<br />
Mit der Ausgabe ist es genau das gleiche wie mit der Eingabe, du brauchst mehrere Objekte die du durchlaufen musst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722565</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Sun, 07 Jun 2009 08:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 08:23:05 GMT]]></title><description><![CDATA[<p>Hallo blub²,</p>
<p>wie könnte ich denn sagen, wenn ich z.b 3 Objekte eingeben möchte, dass er auch 3 Objekte dann erstellt?<br />
Also so etwa:<br />
Anzahl der Objekte: 3</p>
<p>Ich erstelle ja ein Objekt, wie du gesagt hast:<br />
GeomObjekt objekt;</p>
<p>Wie könnte ich denn anhand der abfrage die Objekte erstellen? Würde er nicht immer nur eins erstellen?<br />
Oder gibt es eine Möglichkeit objekt1, objekt2 usw. zu erstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722567</guid><dc:creator><![CDATA[MandaJohn]]></dc:creator><pubDate>Sun, 07 Jun 2009 08:23:05 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 08:25:39 GMT]]></title><description><![CDATA[<p>Entweder du legst dir ein Array auf Vorrat an:<br />
GeomObjekt objekte[1000];<br />
was ich aber für nicht so sinnvoll halte.</p>
<p>Besser wäre der bereits gepostete std::vector. Damit könntest du einfach sowas machen:</p>
<pre><code class="language-cpp">std::vector&lt;GeomObjekt&gt; objekte;

cin &gt;&gt; anzahl;

objekte.resize(anzahl);
</code></pre>
<p>Kuck dir doch mal den geposteten Link an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722568</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Sun, 07 Jun 2009 08:25:39 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 08:44:57 GMT]]></title><description><![CDATA[<p>Den Link habe ich mir angeguckt. Aber irgendwie gibt er mir jetzt Fehler aus.</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;Anzahl der Objekte: &quot;;

	std::vector&lt;GeomObjekt&gt; objekt;
	cin  &gt;&gt; anzahl;	
	objekt.resize(anzahl); 	

	objekt.zeigeObjekte();//Fehler: zeigeObjekte() ist kein Element von Vector
</code></pre>
<p>Was ich nicht ganz verstanden habe: Hätte ich jetzt mehrere Objekte zur Verfügung um auf die anderen Methoden zuzugreifen?<br />
Also sowas bsp.: objekt1.setName(&quot;Punkt&quot;) oder wäre es immer das selbe Objekt das auf die Methoden zugreift?<br />
Irgendwie fehlt mir da der durchblick.</p>
<p>Wäre es nicht einfach sowas zu versuchen (dann verstehe ich das vielleicht etwas besser <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;Anzahl der Objekte: &quot;;
	cin  &gt;&gt; anzahl;	
	cout &lt;&lt; endl;

	for(int i=0; i&lt;=anzahl; i++)
	{
                //Könnte ich hiermit auch mehrere Objekte erstellen?
		GeomObjekt objekt[i];
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1722572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722572</guid><dc:creator><![CDATA[MandaJohn]]></dc:creator><pubDate>Sun, 07 Jun 2009 08:44:57 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 09:11:27 GMT]]></title><description><![CDATA[<p>MandaJohn schrieb:</p>
<blockquote>
<p>Wäre es nicht einfach sowas zu versuchen (dann verstehe ich das vielleicht etwas besser <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> )</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;Anzahl der Objekte: &quot;;
	cin  &gt;&gt; anzahl;	
	cout &lt;&lt; endl;
	
	for(int i=0; i&lt;=anzahl; i++)
	{
                //Könnte ich hiermit auch mehrere Objekte erstellen?
		GeomObjekt objekt[i];
	}
</code></pre>
</blockquote>
<p>Uargh. Stichwort Scopes, das geht völlig schief noch dazu kannst du Arrays nur mit statischen &quot;Anzahlen&quot; anlegen. Tipp: kuck dir erstmal Arrays richtig an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722583</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Sun, 07 Jun 2009 09:11:27 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 09:19:50 GMT]]></title><description><![CDATA[<p>So, habe es mir einfacher gemacht. Ich nehme einfach maximal 5 Objekte (für den Anfang). Bis es läuft, dann kann man es ja noch ändern.</p>
<pre><code class="language-cpp">GeomObjekt objekt[5];
cout &lt;&lt; &quot;Anzahl der Objekte: &quot;;
cin  &gt;&gt; anzahl;	
cout &lt;&lt; endl;

do
	{
		eingabe++;		
		cout &lt;&lt; endl;
		cout &lt;&lt; eingabe &lt;&lt; &quot;. Objekt ist ein: &quot;;
		cin  &gt;&gt; auswahl;

		if(auswahl == 'p')
		{
			objekt[1].setName(&quot;Punkt&quot;);
			cout &lt;&lt; &quot;Punkt&quot; &lt;&lt;endl;
			cout &lt;&lt; &quot;X = &quot;;
			cin  &gt;&gt; x;		
			cout &lt;&lt; &quot;Y = &quot;;
			cin  &gt;&gt; y; 
			cout &lt;&lt; endl;
			objekt[1].setXpos(x);
			objekt[1].setYpos(y);
		}
		else if(auswahl == 'q')
		{
			objekt[2].setName(&quot;Quadrat&quot;);
			cout &lt;&lt; &quot;Quadrat&quot; &lt;&lt; endl;		
			cout &lt;&lt; &quot;X = &quot;;
			cin  &gt;&gt; x;		
			cout &lt;&lt; &quot;Y = &quot;;
			cin  &gt;&gt; y; 
			cout &lt;&lt; &quot;a = &quot;;
			cin  &gt;&gt; a;
			cout &lt;&lt; &quot;b = &quot;;
			cin  &gt;&gt; b; //Wieso komme ich hier nicht hin? Kann nichts für b eingeben.
			cout &lt;&lt; endl;

			objekt[2].setXpos(x);
			objekt[2].setYpos(y);
			objekt[2].setA(a);
			objekt[2].setB(b);
		}

		else if(auswahl == 'r')
			objekt[3].setName(&quot;Rechteck&quot;);
		else if(auswahl == 'k')
			objekt[4].setName(&quot;Kreis&quot;);		
	}
	while(eingabe &lt; anzahl);
</code></pre>
<p>Habe erstmal für p und q die Werte gesetzt. Das scheint auch zu klappen. Nur habe ich gerade Probleme bei der Ausgabe. Die sieht etwa so aus:</p>
<pre><code class="language-cpp">for(int i=0; i&lt;5; i++)
		{
			eingabe++;
			cout &lt;&lt; endl;
			cout &lt;&lt; eingabe &lt;&lt; &quot;. Objekt ist ein &quot;;
			cout &lt;&lt; objekt[i].getName();
			cout &lt;&lt; &quot;:&quot;;
			cout &lt;&lt; &quot;P(&quot;; 
			cout &lt;&lt; objekt[i].getXpos(); 
			cout &lt;&lt; &quot;,&quot;; 
			cout &lt;&lt; objekt[i].getYpos(); 
			cout &lt;&lt; &quot;)&quot;;
		}
</code></pre>
<p>Erstmal will ich nur die Punkte ausgeben. Stimmt etwas mit der for-schleife nicht? Irgendwie gibt er nicht das aus was ich eingegeben habe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722587</guid><dc:creator><![CDATA[MandaJohn]]></dc:creator><pubDate>Sun, 07 Jun 2009 09:19:50 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 09:51:40 GMT]]></title><description><![CDATA[<p>Könnte mir jemand bei der Ausgabe helfen?</p>
<pre><code class="language-cpp">if(auswahl == 'p')
		{
			objekt[1].setName(&quot;Punkt&quot;);
			cout &lt;&lt; &quot;Punkt&quot; &lt;&lt;endl;
			cout &lt;&lt; &quot;X = &quot;;
			cin  &gt;&gt; x;		
			cout &lt;&lt; &quot;Y = &quot;;
			cin  &gt;&gt; y; 
			cout &lt;&lt; endl;
			objekt[1].setXpos(x);
			objekt[1].setYpos(y);
			U = objekt[1].umfangBerechnung(0);
			objekt[1].setU(U);
			A = objekt[1].flaechenBerechnung(a, b);
			objekt[1].setAFlaeche(A);

		}
else if(auswahl == 'q')
		{
			objekt[2].setName(&quot;Quadrat&quot;);
			cout &lt;&lt; &quot;Quadrat&quot; &lt;&lt; endl;		
			cout &lt;&lt; &quot;X = &quot;;
			cin  &gt;&gt; x;		
			cout &lt;&lt; &quot;Y = &quot;;
			cin  &gt;&gt; y; 
			cout &lt;&lt; &quot;a = &quot;;
			cin  &gt;&gt; a;
			cout &lt;&lt; &quot;b = &quot;;
			cin  &gt;&gt; b;
			cout &lt;&lt; endl;

			objekt[2].setXpos(x);
			objekt[2].setYpos(y);
			objekt[2].setA(a);
			objekt[2].setB(b);
			U = objekt[2].umfangBerechnung(a);
			objekt[2].setU(U);
			A = objekt[2].flaechenBerechnung(a, b);
			objekt[2].setAFlaeche(A);
		}
</code></pre>
<p>Ich kriege die Ausgabe nicht hin. Er gibt die x,y Koordinaten richtig aus. Der Name ist was völlig anderes. Der Umfang und die Fläche ist auch korrekt.<br />
(Außer erstmal für Kreis und Rechteck, aber das kommt später)</p>
<p>Im Header sieht das für Namen so aus:</p>
<pre><code class="language-cpp">private:
	double xpos;
	double ypos;
	char name[10]; 
	char color[10];
</code></pre>
<p>Der Getter/Setter dafür:</p>
<pre><code class="language-cpp">char GeomObjekt::getName()
{
	return (char)name; //Ist das casten hier ok??
}

void GeomObjekt::setName(char Name[10])
{
	strcpy(name, Name);
}
</code></pre>
<p>Das ist die Ausgabe:</p>
<pre><code class="language-cpp">for(int i=1; i&lt;5; i++)
		{
			eingabe++;
			cout &lt;&lt; endl;
			cout &lt;&lt; eingabe &lt;&lt; &quot;. Objekt ist ein &quot;;
			cout &lt;&lt; objekt[i].getName();
			cout &lt;&lt; &quot;:&quot;;
			cout &lt;&lt; &quot;P(&quot;; 
			cout &lt;&lt; objekt[i].getXpos(); 
			cout &lt;&lt; &quot;,&quot;; 
			cout &lt;&lt; objekt[i].getYpos(); 
			cout &lt;&lt; &quot;)&quot; &lt;&lt; endl;
			cout &lt;&lt; &quot;U = &quot; &lt;&lt; objekt[i].getU() &lt;&lt; endl;
			cout &lt;&lt; &quot;A = &quot; &lt;&lt; objekt[i].getAFlaeche() &lt;&lt; endl;

		}
</code></pre>
<p>Folgende Objekte wurden eingegeben:<br />
1. Objekt ist ein 4:P(1,3) //Hier fehlen überall die Namen?!?!<br />
U = 0<br />
A = 0</p>
<p>2. Objekt ist ein |:P(3,4)<br />
U = 8<br />
A = 6</p>
<p>3. Objekt ist ein ─:P(0,0)<br />
U = -9.25596e+061<br />
A = -9.25596e+061</p>
<p>4. Objekt ist ein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/2640.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--female_sign"
      title=":female_sign:"
      alt="♀"
    />:P(0,0)<br />
U = -9.25596e+061<br />
A = -9.25596e+061</p>
<p>Habt ihr Tips für mich??<br />
Danke schonmal!<br />
Gruß</p>
<p>Manda</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722601</guid><dc:creator><![CDATA[MandaJohn]]></dc:creator><pubDate>Sun, 07 Jun 2009 09:51:40 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 11:10:34 GMT]]></title><description><![CDATA[<blockquote>
<pre><code class="language-cpp">char GeomObjekt::getName()
{
    return (char)name; //Ist das casten hier ok??
}
</code></pre>
</blockquote>
<p>Nein, ist nicht OK. Du castest da einen Zeiger auf ein Array von char zu einem char. Benutz am besten ein std::string für namen und co.<br />
Oder zumindest für die Rückgabe.</p>
<pre><code class="language-cpp">std::string GeomObjekt::getName()
{
    return std::string ( name );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1722657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722657</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 07 Jun 2009 11:10:34 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 11:22:26 GMT]]></title><description><![CDATA[<p>Danke für die Antwort. Ich bekomme allerdings einen Fehler, muss ich dafür eine Bibliothek einbinden?</p>
<p>Müsste ich auch meine Variable: char name[10] umändern? in ein string?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722664</guid><dc:creator><![CDATA[MandaJohn]]></dc:creator><pubDate>Sun, 07 Jun 2009 11:22:26 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 11:35:05 GMT]]></title><description><![CDATA[<p>MandaJohn schrieb:</p>
<blockquote>
<p>Danke für die Antwort. Ich bekomme allerdings einen Fehler, muss ich dafür eine Bibliothek einbinden?</p>
</blockquote>
<p>Du musst:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
</code></pre>
<p>noch anfügen.</p>
<blockquote>
<p>Müsste ich auch meine Variable: char name[10] umändern? in ein string?</p>
</blockquote>
<p>Ja, am besten wäre es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722671</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 07 Jun 2009 11:35:05 GMT</pubDate></item><item><title><![CDATA[Reply to Neu in C++ (Getter&#x2F;Setter) Methoden on Sun, 07 Jun 2009 11:46:01 GMT]]></title><description><![CDATA[<p>Ah Super Danke, jetzt läufts auch. Hat eine Ketten reaktion ausgelöst, weil ich überall char name[10] hatte.</p>
<p>Gruß<br />
Manda</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722676</guid><dc:creator><![CDATA[MandaJohn]]></dc:creator><pubDate>Sun, 07 Jun 2009 11:46:01 GMT</pubDate></item></channel></rss>