<?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[kann ein Klassenelement nicht ansprechen]]></title><description><![CDATA[<p>hi<br />
hab ma ein problem:</p>
<p>gegeben ist eine Klasse mit der internen variable(element in der klasse) &quot;pos&quot;:</p>
<p>das ist der konstruktor:</p>
<pre><code class="language-cpp">CPrimObject::CPrimObject(CVector3 ppos)
{
	CPrimObject::pos = ppos;
	printf(&quot;\nPRIMPOSX=%f\n&quot;,pos.x);
	printf(&quot;PRIMPOSY=%f\n&quot;,pos.y);
	printf(&quot;PRIMPOSZ=%f\n\n&quot;,pos.z);
}
</code></pre>
<p>soo, jetz denkt man eigentlich &quot;pos&quot; bekommt den wert vom argument des konstruktors zugewiesen. zb( CPrimObject obj(1,2,3); );<br />
Ausgabe:</p>
<p>PRIMPOSX=1<br />
PRIMPOSY=2<br />
PRIMPOSZ=3</p>
<p>dh pos hat einen wert.</p>
<p>wenn ich jetz allerdings &quot;pos&quot; von ausserhalb der klasse anfrag liefert es 0,0,0:</p>
<pre><code class="language-cpp">printf(&quot;SP1 POS: x=%f , y=%f , z=%f&quot;,obj.pos.x, obj.pos.y, obj.pos.z);
</code></pre>
<p>warum ist die ausgabe jetz:<br />
x=0, y=0, z=0 ??</p>
<p>danke im vorraus <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/204374/kann-ein-klassenelement-nicht-ansprechen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 13:47:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204374.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Feb 2008 12:49:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 12:50:39 GMT]]></title><description><![CDATA[<p>hi<br />
hab ma ein problem:</p>
<p>gegeben ist eine Klasse mit der internen variable(element in der klasse) &quot;pos&quot;:</p>
<p>das ist der konstruktor:</p>
<pre><code class="language-cpp">CPrimObject::CPrimObject(CVector3 ppos)
{
	CPrimObject::pos = ppos;
	printf(&quot;\nPRIMPOSX=%f\n&quot;,pos.x);
	printf(&quot;PRIMPOSY=%f\n&quot;,pos.y);
	printf(&quot;PRIMPOSZ=%f\n\n&quot;,pos.z);
}
</code></pre>
<p>soo, jetz denkt man eigentlich &quot;pos&quot; bekommt den wert vom argument des konstruktors zugewiesen. zb( CPrimObject obj(1,2,3); );<br />
Ausgabe:</p>
<p>PRIMPOSX=1<br />
PRIMPOSY=2<br />
PRIMPOSZ=3</p>
<p>dh pos hat einen wert.</p>
<p>wenn ich jetz allerdings &quot;pos&quot; von ausserhalb der klasse anfrag liefert es 0,0,0:</p>
<pre><code class="language-cpp">printf(&quot;SP1 POS: x=%f , y=%f , z=%f&quot;,obj.pos.x, obj.pos.y, obj.pos.z);
</code></pre>
<p>warum ist die ausgabe jetz:<br />
x=0, y=0, z=0 ??</p>
<p>danke im vorraus <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1448009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448009</guid><dc:creator><![CDATA[Fachmann]]></dc:creator><pubDate>Sat, 02 Feb 2008 12:50:39 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 13:12:47 GMT]]></title><description><![CDATA[<p>Hast es ein wenig komisch mit der Zuweisung gemacht usw ... Zeig mal bitte wie du die Klasse CPrimObject Deklariert hast ... ist CPrimObject::pos eine Klasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448019</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 02 Feb 2008 13:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 13:18:13 GMT]]></title><description><![CDATA[<p>Würde jetzt einfach mal sagen, du gibst nicht das objekt aus dass du erstellt hast. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448024</guid><dc:creator><![CDATA[houseoftherisinsun]]></dc:creator><pubDate>Sat, 02 Feb 2008 13:18:13 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 13:23:41 GMT]]></title><description><![CDATA[<p>hier die ganzen deklarationen ob ich &quot;pos&quot; schreib oder &quot;CPrimObject::pos&quot; kommt eigentlich auf selbe raus, oder?</p>
<pre><code class="language-cpp">class CPrimObject
{
public:
	int ID;

	CVector3 pos;

	CBlockLine *BL;
	CBlockCircle *BC;

	//
	CPrimObject(CVector3 ppos);

	bool SetBlocks(int pcblocks,CBlockCircle *pbc, int plblocks , CBlockLine *pbl);

	 ~CPrimObject();
};

///  SPHERE TEST OBJECT with BC ///////////////////////////////

class CSphereObj : public CPrimObject
{
public:

	CVector3 pos,facevec;
	float radius;
	GLUquadricObj *quadsphere;

	CSphereObj(CVector3 ppos, float pradius);
	void Render();
	~CSphereObj();
};
</code></pre>
<p>hier der kopf des konstruktors der abgeleiteten klasse:</p>
<pre><code class="language-cpp">CSphereObj::CSphereObj(CVector3 ppos, float pradius) : CPrimObject( ppos)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1448028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448028</guid><dc:creator><![CDATA[Fachmann]]></dc:creator><pubDate>Sat, 02 Feb 2008 13:23:41 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 13:53:54 GMT]]></title><description><![CDATA[<p>Lern doch einfach mal nen Debugger zu verwenden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448032</guid><dc:creator><![CDATA[TippFürsLeben]]></dc:creator><pubDate>Sat, 02 Feb 2008 13:53:54 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 14:14:31 GMT]]></title><description><![CDATA[<p>der debugger sagt mir dass pos.x pos.y pos.z im konstruktor noch 1/2/3 ist un nach der instanzbildung 0/0/0 ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448037</guid><dc:creator><![CDATA[Fachmann]]></dc:creator><pubDate>Sat, 02 Feb 2008 14:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 14:16:28 GMT]]></title><description><![CDATA[<p>Wärs möglich dass Du pos von der Basisklasse initialisierst, und dann auf pos der abgeleiteten Klasse zugreifst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448039</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Sat, 02 Feb 2008 14:16:28 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 14:24:24 GMT]]></title><description><![CDATA[<p>Fehler entdeckt: in der abgeleiteten Klasse CSphereObj gabs noch ein element namens &quot;pos&quot;, das wurde beschrieben mit 1/2/3 un das &quot;pos&quot; in CPrimObj wurde ausgegeben, was allerdings dann 0/0/0 war.<br />
hui</p>
<p>danke trotzdem</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448043</guid><dc:creator><![CDATA[Fachmann]]></dc:creator><pubDate>Sat, 02 Feb 2008 14:24:24 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 15:24:54 GMT]]></title><description><![CDATA[<p>ein paar Tips am Rande:<br />
- Datenelemente einer KLasse deklariert man normalerweise private und dazu dann bei Bedarf getter und setter methoden.<br />
- such mal im Netz nach dem Stichwort &quot;Initialisierungsliste&quot;, damit sparst du dir im Konstruktor eine Kopie von ppos nach pos, indem du pos bei seiner initialisierung sofort richtig belegst.<br />
- schau im C++-Buch deiner Wahl mal nach den iostreams. printf() ist ein Relikt aus der C-Zeit, nutze lieber std::cout, das ist typsicher und leichter zu lesen im code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448073</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 02 Feb 2008 15:24:54 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 16:07:41 GMT]]></title><description><![CDATA[<p>ja danke pumuckl für die tipps.<br />
(normalerweise sind die variablen bei mir auch private und können mit setter getter<br />
geholt werden aber in der entwicklungsphase mach ich dann aus einfachheitsgründen erstmal alles public damit ich schnell überall zugreifen kann)</p>
<p>@ Lord Jaxom : richtig das wars , hab das &quot;pos&quot; in der andren klasse versehendlich deklariert!<br />
danke</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448096</guid><dc:creator><![CDATA[Fachmann]]></dc:creator><pubDate>Sat, 02 Feb 2008 16:07:41 GMT</pubDate></item><item><title><![CDATA[Reply to kann ein Klassenelement nicht ansprechen on Sat, 02 Feb 2008 16:28:01 GMT]]></title><description><![CDATA[<p>Fachmann schrieb:</p>
<blockquote>
<p>in der entwicklungsphase mach ich dann aus einfachheitsgründen erstmal alles public damit ich schnell überall zugreifen kann)</p>
</blockquote>
<p>Machs gleich richtig, am Ende entwickelt man ne Handvoll Klassen parallel und braucht dann elend lang, das hinterher alles umzuändern - wenn mans nicht sogar links liegen lässt. In Multifunktionseditoren wie emacs und bestimmt auch in einigen IDEs kann man sich Makros schreiben, die zu einer privaten Variable die entsprechenden Getter und Setter automatisch generieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448103</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 02 Feb 2008 16:28:01 GMT</pubDate></item></channel></rss>