<?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[Anfängerfehler in OOP]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich lese gerade ein OOP-Tutorial für C++.</p>
<p>Jetzt will ich folgendes machen: Ich habe ein Objekt (vom Typ OOP), das eine Membervariable i besitzt. Dieses will ich mir mit einer statischen Methode inkrementieren lassen.</p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">#include &quot;Allgemein.h&quot;

class OOP
{
private:
	int i;

public:
	OOP(int integer);
	~OOP(void);
	int getI();
	void setI(int newI);

	static void inkrZahl(int &amp;zahl);
};

OOP::OOP(int integer) : i(integer)
{
}

OOP::~OOP(void)
{
}

int OOP::getI()
{
	return i;
}

void OOP::setI(int newI)
{
	i = newI;
}

void OOP::inkrZahl(int &amp;zahl)
{
	zahl++;
}

int main(void)
{
	OOP obj(10);

	cout &lt;&lt; &quot;---&gt; &quot; &lt;&lt; obj.getI() &lt;&lt; endl;

	obj.setI(666);

	cout &lt;&lt; &quot;---&gt; &quot; &lt;&lt; obj.getI() &lt;&lt; endl;

	int *ptr;
	ptr = &amp;obj.getI();

	OOP::inkrZahl(obj.getI());

	cout &lt;&lt; &quot;---&gt; &quot; &lt;&lt; obj.getI() &lt;&lt; endl;

	getch();
	return 0;
}
</code></pre>
<p>Das ist ja geschickt hier mit Referenzen zu arbeiten, oder? Damit auch tatsächlich das i von dem Objekt inkrementiert wird, das der statischen Methode als Parameter übergeben wird.. Jetzt will aus meinem obj die Speicheradresse von dem i rauskriegen, aber da meckert der Compiler rum... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">int *ptr;
	ptr = &amp;obj.getI();
</code></pre>
<p>Was ist denn daran falsch?</p>
<p>Mit zwei Variablen geht das doch auch so....</p>
<p>Danke für die Hilfe!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303296/anfängerfehler-in-oop</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 14:46:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303296.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 May 2012 11:37:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 11:37:00 GMT]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich lese gerade ein OOP-Tutorial für C++.</p>
<p>Jetzt will ich folgendes machen: Ich habe ein Objekt (vom Typ OOP), das eine Membervariable i besitzt. Dieses will ich mir mit einer statischen Methode inkrementieren lassen.</p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">#include &quot;Allgemein.h&quot;

class OOP
{
private:
	int i;

public:
	OOP(int integer);
	~OOP(void);
	int getI();
	void setI(int newI);

	static void inkrZahl(int &amp;zahl);
};

OOP::OOP(int integer) : i(integer)
{
}

OOP::~OOP(void)
{
}

int OOP::getI()
{
	return i;
}

void OOP::setI(int newI)
{
	i = newI;
}

void OOP::inkrZahl(int &amp;zahl)
{
	zahl++;
}

int main(void)
{
	OOP obj(10);

	cout &lt;&lt; &quot;---&gt; &quot; &lt;&lt; obj.getI() &lt;&lt; endl;

	obj.setI(666);

	cout &lt;&lt; &quot;---&gt; &quot; &lt;&lt; obj.getI() &lt;&lt; endl;

	int *ptr;
	ptr = &amp;obj.getI();

	OOP::inkrZahl(obj.getI());

	cout &lt;&lt; &quot;---&gt; &quot; &lt;&lt; obj.getI() &lt;&lt; endl;

	getch();
	return 0;
}
</code></pre>
<p>Das ist ja geschickt hier mit Referenzen zu arbeiten, oder? Damit auch tatsächlich das i von dem Objekt inkrementiert wird, das der statischen Methode als Parameter übergeben wird.. Jetzt will aus meinem obj die Speicheradresse von dem i rauskriegen, aber da meckert der Compiler rum... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">int *ptr;
	ptr = &amp;obj.getI();
</code></pre>
<p>Was ist denn daran falsch?</p>
<p>Mit zwei Variablen geht das doch auch so....</p>
<p>Danke für die Hilfe!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210138</guid><dc:creator><![CDATA[blub85]]></dc:creator><pubDate>Thu, 10 May 2012 11:37:00 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 11:51:06 GMT]]></title><description><![CDATA[<p>Du gibst hier mit getI() keine Referenz auf das i, sondern eine Kopie des i zurück. Diese Kopie ist ein temporäres Objekt und hat keine Adresse.</p>
<p>P.S.: Wenn ich schon wieder den leeren Destruktor und die ganzen <code>(void)</code> sehe, fürchte ich, dich hat der Wolf gefressen. Oder ein Internettutorial.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210139</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 May 2012 11:51:06 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 11:51:33 GMT]]></title><description><![CDATA[<p>zweiteres... <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>
<p>Ich weiß, dass ich keine Refernz zurückgebe. Aber kann ich mir nicht jederzeit mit dem &amp;-Operator die Adresse zu einer Variable (also auch Membervariable) zurückgeben lassen?</p>
<p>Wie wärs denn richtig??</p>
<p>Danke für die Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210140</guid><dc:creator><![CDATA[blub85]]></dc:creator><pubDate>Thu, 10 May 2012 11:51:33 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 12:20:35 GMT]]></title><description><![CDATA[<p>blub85 schrieb:</p>
<blockquote>
<p>Ich weiß, dass ich keine Refernz zurückgebe. Aber kann ich mir nicht jederzeit mit dem &amp;-Operator die Adresse zu einer Variable (also auch Membervariable) zurückgeben lassen?</p>
</blockquote>
<p>Den Adressoperator kannst du auf lvalues und qualifizierte Ausdrücke anwenden. Der Rückgabewert von getI() ist aber ein rvalue.</p>
<blockquote>
<p>Wie wärs denn richtig??</p>
</blockquote>
<p>Was genau und aus welchem Grund möchtest du denn erreichen?</p>
<p>P.S.: Und lass Internettutorials unbedingt sein. Vergiss am besten alles gelernte und folge mal dem zweiten Link in meiner Signatur. Wenn jemand in einem Internetforum beim ersten Blick auf ein paar dutzend Zeilen Code erkennen kann, wie du C++ gelernt hast (und davon nicht begeistert war), sollte das ein Alarmsignal sein, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210149</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 May 2012 12:20:35 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 12:25:04 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Wenn jemand in einem Internetforum beim ersten Blick auf ein paar dutzend Zeilen Code erkennen kann, wie du C++ gelernt hast</p>
</blockquote>
<p>Das war jetzt nicht sooo schwierig:</p>
<p>blub85 schrieb:</p>
<blockquote>
<p>ich lese gerade ein OOP-Tutorial für C++.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2210154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210154</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 10 May 2012 12:25:04 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 12:35:58 GMT]]></title><description><![CDATA[<p>rvalue, ivalue etc. sagt mir natürlich gar nichts..</p>
<p>wo ich hinwill.. ich will dieses C++ lernen. da möchte ich hin.</p>
<p>wie könnte ich das denn richtig implementieren, dass mir eine statische methode eine membervariable vom typ int inkrementiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210156</guid><dc:creator><![CDATA[blub85]]></dc:creator><pubDate>Thu, 10 May 2012 12:35:58 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 12:39:28 GMT]]></title><description><![CDATA[<p>blub85 schrieb:</p>
<blockquote>
<p>rvalue, ivalue etc. sagt mir natürlich gar nichts..</p>
</blockquote>
<p>Weil du nach dummen Internettutorials lernst, deren Autoren das selber nicht wissen.</p>
<blockquote>
<p>wie könnte ich das denn richtig implementieren, dass mir eine statische methode eine membervariable vom typ int inkrementiert?</p>
</blockquote>
<p>Die ganze Idee macht einfach keinen Sinn. Wieso soll die Funktion static sein, wenn sie doch auf einem konkreten Objekt arbeiten soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210159</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 May 2012 12:39:28 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 13:01:24 GMT]]></title><description><![CDATA[<p>alter... ich will hier kein Buch lesen, sondern mich auf meine Diplomprüfung vorbereiten, in der ich u.a. über C++ was sagen muss..</p>
<p>Ob das sinn macht oder nicht ist mir primär egal, da ich seit 7 Jahren nur Java programmiere und damit zufrieden bin.</p>
<p>Wäre suuuuuuuuupaaaaaaaaaa nett, wenn Du mir da ma kurz aus der Patsche helfen könntest!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210170</guid><dc:creator><![CDATA[blub85]]></dc:creator><pubDate>Thu, 10 May 2012 13:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 13:04:47 GMT]]></title><description><![CDATA[<p>blub85 schrieb:</p>
<blockquote>
<p>alter... ich will hier kein Buch lesen, sondern mich auf meine Diplomprüfung vorbereiten</p>
</blockquote>
<p>Was für ein Diplom machst Du? Ich kenne sonst nämlich niemanden, der sich auf seine Diplomprüfung vorbereitet, ohne Bücher zu lesen ...</p>
<p>Ich wiederhole noch mal die Frage von SeppJ:<br />
Wozu braucht man eine statische Funktion, die eine Membervariable manipulieren soll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210172</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 10 May 2012 13:04:47 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 13:17:13 GMT]]></title><description><![CDATA[<p><a href="http://www.cpp-tutor.de" rel="nofollow">www.cpp-tutor.de</a> ( Ein nicht schlechtes Tutorial )</p>
<p>Der C++ Primer<br />
<a href="https://7chan.org/pr/src/PrimerPlusE5.pdf" rel="nofollow">https://7chan.org/pr/src/PrimerPlusE5.pdf</a> ( Ein gutes kostenloses PDF Buch )</p>
<p>Btw:<br />
Hab ich nur so das Gefühl oder ist es echt so das bei den verschiedenen C++ Primern immer andere Autoren schreiben?^^</p>
<p>Z.b. in Version 3 oder so hat irgendein Stanley den geschrieben und jetzt ein anderer Autor die Version 5.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210180</guid><dc:creator><![CDATA[O_O]]></dc:creator><pubDate>Thu, 10 May 2012 13:17:13 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 13:19:33 GMT]]></title><description><![CDATA[<p>Thinking in C++ ist auch ein gutes kostenloses Ebook.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210182</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 10 May 2012 13:19:33 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Thu, 10 May 2012 17:41:57 GMT]]></title><description><![CDATA[<p>blub85 schrieb:</p>
<blockquote>
<p>Ob das sinn macht oder nicht ist mir primär egal, da ich seit 7 Jahren nur Java programmiere und damit zufrieden bin.</p>
</blockquote>
<p>Dann tu' uns (bzw mir) einen Gefallen und bleib bei deinem supertollen klicki-bunti design-fail Java, wenn du eh nichts dazulernen willst. statische Methoden verhalten sich in Java im Übrigen analog.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title="O_O"
      alt="😮"
    /> schrieb:</p>
<blockquote>
<p><a href="http://www.cpp-tutor.de" rel="nofollow">www.cpp-tutor.de</a> ( Ein nicht schlechtes Tutorial )</p>
</blockquote>
<p>Doch schlechtes Tutorial.</p>
<p>P.S.: Warum lehnt der typische Javaner eigentlich immer alles grundsätzlich ab, das er nicht versteht?</p>
<p>JAVATAR, DER HERR DER 4 JELEMENTE.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210255</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 10 May 2012 17:41:57 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Fri, 11 May 2012 06:34:29 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title="O_O"
      alt="😮"
    /> schrieb:</p>
<blockquote>
<p>Hab ich nur so das Gefühl oder ist es echt so das bei den verschiedenen C++ Primern immer andere Autoren schreiben?^^</p>
</blockquote>
<p>Mag daran liegen dass Primer und PrimerPlus zwei verschiedene Paar Schuhe sind. Der Primer ist das gute EBook, allerdings nicht kostenlos.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210397</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 11 May 2012 06:34:29 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfehler in OOP on Fri, 11 May 2012 08:41:16 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title="O_O"
      alt="😮"
    /> schrieb:</p>
<blockquote>
<p>Btw:<br />
Hab ich nur so das Gefühl oder ist es echt so das bei den verschiedenen C++ Primern immer andere Autoren schreiben?^^</p>
</blockquote>
<p>1. Es ist nicht der C++ Primer, sondern der C++ Primer Plus (Beide Bücher haben miteinander nichts zu tun).<br />
2. Das Setzen von Links auf illegale veröffentlichte Inhalte ist nicht gewünscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2210435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2210435</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 11 May 2012 08:41:16 GMT</pubDate></item></channel></rss>