<?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[Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert.]]></title><description><![CDATA[<p>Ich habe versucht ein kleines Minispiel zu programmieren, (werden viele sicherlich vom Taschenrechner kennen), die Rede ist von FallDown.</p>
<p><a href="http://www.albinoblacksheep.com/flash/falldown2" rel="nofollow">http://www.albinoblacksheep.com/flash/falldown2</a> für diejenigen die nicht wissen was falldown ist.</p>
<p>Nun mein Problem:</p>
<p>Die UpdateMethode der Klass Block hat absolut keine Auswirkung und ich verstehe nicht wieso. Es ist leider eine ganze Menge Text, jedoch denke ich das der Fehler was auch immer es ist entweder in der Klasse Block oder in der Klasse World ist.</p>
<pre><code class="language-cpp">/*
 * World.h
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */

#include &lt;string&gt;
#include &lt;list&gt;
#include &quot;Block.h&quot;
#include &quot;Player.h&quot;
using namespace std;

#ifndef WORLD_H_
#define WORLD_H_

class World{
public:
	World();
	void StartLoop();
	~World();
private:
	void GenerateNextLine();
	void Update();
	void Render();
	bool HasLost();
	Player myplayer;
	bool IsRunning;
	list&lt;Block&gt; blocklist;
};

#endif /* WORLD_H_ */
</code></pre>
<pre><code class="language-cpp">/*
 * World.cpp
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */
using namespace std;
#include &quot;World.h&quot;
#include &quot;Player.h&quot;
#include &lt;iostream&gt;
#include &quot;Block.h&quot;

#include &quot;ConsoleColour.h&quot;
#include &lt;windows.h&gt;

World::World(){
	this-&gt;IsRunning = false;
}

void World::GenerateNextLine(){
	Block newblock(5,5);
	this-&gt;blocklist.push_back(newblock);
}

void World::StartLoop(){
	this-&gt;IsRunning = true;
	while(this-&gt;IsRunning){
		this-&gt;Update();
		Sleep(33);
	}
}

void World::Render(){
	bool PlayerwasRenderd = false;
	int liney = 0;
	int linex = 0;
	system(&quot;cls&quot;);
	cout &lt;&lt; green &lt;&lt; &quot;Current Distance &quot; &lt;&lt; this-&gt;myplayer.GetDistance() &lt;&lt; &quot;\n&quot;;

	list&lt;Block&gt;::iterator p = this-&gt;blocklist.begin();
	while(p != blocklist.end()) {
	    Block current = *p;

	    while (liney &lt; current.posy){
	  		liney = liney + 1;
	  		cout &lt;&lt; white &lt;&lt; &quot;\n&quot;;
	  	}
	  	while (linex &lt; current.startx){
	  		linex = linex + 1;
	  		cout &lt;&lt; white &lt;&lt; &quot; &quot;;
	  	}

	    int size = current.sizex;
	  	while(size &gt; 0){
	  		cout &lt;&lt; blue &lt;&lt; &quot;-&quot;;
	  		linex = linex + 1;
	  		size = size -1;
	  	}

	  	p++;
	}
}

bool World::HasLost(){
	if(this-&gt;myplayer.GetPosY() &lt; 0){
		return true;
	}
	return false;
}

void World::Update(){
	this-&gt;GenerateNextLine();

	list&lt;Block&gt;::iterator p = this-&gt;blocklist.begin();
	while(p != blocklist.end()) {
	    Block current = *p;
	    current.Update();
	    p++;
	}

	this-&gt;myplayer.Update();

	this-&gt;Render();
}

World::~World(){

}
</code></pre>
<pre><code class="language-cpp">/*
 * Block.h
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */

#ifndef BLOCK_H_
#define BLOCK_H_

class Block{
public:
	Block(int size,int startx);
	~Block();
	void Update();
	int startx;
	int sizex;
	int posy;
};

#endif /* BLOCK_H_ */
</code></pre>
<pre><code class="language-cpp">/*
 * Block.cpp
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */
using namespace std;

#include &quot;Block.h&quot;
#include &lt;iostream&gt;
#include &quot;Block.h&quot;
#include &quot;ConsoleColour.h&quot;

Block::Block(int size,int startx){
	cout &lt;&lt; red &lt;&lt; &quot;New Block &quot; &lt;&lt; startx &lt;&lt; &quot;-&quot; &lt;&lt; size &lt;&lt; &quot;\n&quot;;
	this-&gt;startx = startx;
	this-&gt;sizex = size;
	this-&gt;posy = 15;
}

void Block::Update(){
	posy = posy -1;
  	cout &lt;&lt; red &lt;&lt; posy &lt;&lt; &quot;\n&quot;;

}

Block::~Block(){

}
</code></pre>
<pre><code class="language-cpp">/*
 * Player.h
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */

#ifndef PLAYER_H_
#define PLAYER_H_

class Player{
public:
	Player();
	~Player();
	void Update();
	void PushUp();
	int GetPosY();
	int GetPosX();
	int GetDistance();
private:
	int distance;
	int posx;
	int posy;
};

#endif /* PLAYER_H_ */
</code></pre>
<pre><code class="language-cpp">/*
 * Player.cpp
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */
using namespace std;

#include &lt;iostream&gt;
#include &quot;Player.h&quot;

Player::Player(){
	cout &lt;&lt; &quot;New Player&quot;;
	this-&gt;posx = 10;
	this-&gt;posy = 0;
	this-&gt;distance = 0;
}

void Player::Update(){

}

int Player::GetDistance(){
	return this-&gt;distance;
}

int Player::GetPosX(){
	return this-&gt;posx;
}

int Player::GetPosY(){
	return this-&gt;posy;
}

Player::~Player(){

}
</code></pre>
<pre><code class="language-cpp">/*
 * main.cpp
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */
#include &quot;World.h&quot;

int main() {
	World myworld;
	myworld.StartLoop();
}
</code></pre>
<pre><code class="language-cpp">// ConsoleColor.h

#pragma once
#include &lt;iostream&gt;

#include &lt;windows.h&gt;

inline std::ostream&amp; blue(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE
              |FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream&amp; red(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
                FOREGROUND_RED|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream&amp; green(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
              FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream&amp; yellow(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
         FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream&amp; white(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
       FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
    return s;
}

struct color {
    color(WORD attribute):m_color(attribute){};
    WORD m_color;
};

template &lt;class _Elem, class _Traits&gt;
std::basic_ostream&lt;_Elem,_Traits&gt;&amp;
      operator&lt;&lt;(std::basic_ostream&lt;_Elem,_Traits&gt;&amp; i, color&amp; c)
{
    HANDLE hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,c.m_color);
    return i;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/245962/klassenvariable-funktioniert-nicht-wertzuweisung-wird-ignoriert</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 10:31:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245962.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Jul 2009 10:53:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert. on Tue, 21 Jul 2009 11:05:39 GMT]]></title><description><![CDATA[<p>Ich habe versucht ein kleines Minispiel zu programmieren, (werden viele sicherlich vom Taschenrechner kennen), die Rede ist von FallDown.</p>
<p><a href="http://www.albinoblacksheep.com/flash/falldown2" rel="nofollow">http://www.albinoblacksheep.com/flash/falldown2</a> für diejenigen die nicht wissen was falldown ist.</p>
<p>Nun mein Problem:</p>
<p>Die UpdateMethode der Klass Block hat absolut keine Auswirkung und ich verstehe nicht wieso. Es ist leider eine ganze Menge Text, jedoch denke ich das der Fehler was auch immer es ist entweder in der Klasse Block oder in der Klasse World ist.</p>
<pre><code class="language-cpp">/*
 * World.h
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */

#include &lt;string&gt;
#include &lt;list&gt;
#include &quot;Block.h&quot;
#include &quot;Player.h&quot;
using namespace std;

#ifndef WORLD_H_
#define WORLD_H_

class World{
public:
	World();
	void StartLoop();
	~World();
private:
	void GenerateNextLine();
	void Update();
	void Render();
	bool HasLost();
	Player myplayer;
	bool IsRunning;
	list&lt;Block&gt; blocklist;
};

#endif /* WORLD_H_ */
</code></pre>
<pre><code class="language-cpp">/*
 * World.cpp
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */
using namespace std;
#include &quot;World.h&quot;
#include &quot;Player.h&quot;
#include &lt;iostream&gt;
#include &quot;Block.h&quot;

#include &quot;ConsoleColour.h&quot;
#include &lt;windows.h&gt;

World::World(){
	this-&gt;IsRunning = false;
}

void World::GenerateNextLine(){
	Block newblock(5,5);
	this-&gt;blocklist.push_back(newblock);
}

void World::StartLoop(){
	this-&gt;IsRunning = true;
	while(this-&gt;IsRunning){
		this-&gt;Update();
		Sleep(33);
	}
}

void World::Render(){
	bool PlayerwasRenderd = false;
	int liney = 0;
	int linex = 0;
	system(&quot;cls&quot;);
	cout &lt;&lt; green &lt;&lt; &quot;Current Distance &quot; &lt;&lt; this-&gt;myplayer.GetDistance() &lt;&lt; &quot;\n&quot;;

	list&lt;Block&gt;::iterator p = this-&gt;blocklist.begin();
	while(p != blocklist.end()) {
	    Block current = *p;

	    while (liney &lt; current.posy){
	  		liney = liney + 1;
	  		cout &lt;&lt; white &lt;&lt; &quot;\n&quot;;
	  	}
	  	while (linex &lt; current.startx){
	  		linex = linex + 1;
	  		cout &lt;&lt; white &lt;&lt; &quot; &quot;;
	  	}

	    int size = current.sizex;
	  	while(size &gt; 0){
	  		cout &lt;&lt; blue &lt;&lt; &quot;-&quot;;
	  		linex = linex + 1;
	  		size = size -1;
	  	}

	  	p++;
	}
}

bool World::HasLost(){
	if(this-&gt;myplayer.GetPosY() &lt; 0){
		return true;
	}
	return false;
}

void World::Update(){
	this-&gt;GenerateNextLine();

	list&lt;Block&gt;::iterator p = this-&gt;blocklist.begin();
	while(p != blocklist.end()) {
	    Block current = *p;
	    current.Update();
	    p++;
	}

	this-&gt;myplayer.Update();

	this-&gt;Render();
}

World::~World(){

}
</code></pre>
<pre><code class="language-cpp">/*
 * Block.h
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */

#ifndef BLOCK_H_
#define BLOCK_H_

class Block{
public:
	Block(int size,int startx);
	~Block();
	void Update();
	int startx;
	int sizex;
	int posy;
};

#endif /* BLOCK_H_ */
</code></pre>
<pre><code class="language-cpp">/*
 * Block.cpp
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */
using namespace std;

#include &quot;Block.h&quot;
#include &lt;iostream&gt;
#include &quot;Block.h&quot;
#include &quot;ConsoleColour.h&quot;

Block::Block(int size,int startx){
	cout &lt;&lt; red &lt;&lt; &quot;New Block &quot; &lt;&lt; startx &lt;&lt; &quot;-&quot; &lt;&lt; size &lt;&lt; &quot;\n&quot;;
	this-&gt;startx = startx;
	this-&gt;sizex = size;
	this-&gt;posy = 15;
}

void Block::Update(){
	posy = posy -1;
  	cout &lt;&lt; red &lt;&lt; posy &lt;&lt; &quot;\n&quot;;

}

Block::~Block(){

}
</code></pre>
<pre><code class="language-cpp">/*
 * Player.h
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */

#ifndef PLAYER_H_
#define PLAYER_H_

class Player{
public:
	Player();
	~Player();
	void Update();
	void PushUp();
	int GetPosY();
	int GetPosX();
	int GetDistance();
private:
	int distance;
	int posx;
	int posy;
};

#endif /* PLAYER_H_ */
</code></pre>
<pre><code class="language-cpp">/*
 * Player.cpp
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */
using namespace std;

#include &lt;iostream&gt;
#include &quot;Player.h&quot;

Player::Player(){
	cout &lt;&lt; &quot;New Player&quot;;
	this-&gt;posx = 10;
	this-&gt;posy = 0;
	this-&gt;distance = 0;
}

void Player::Update(){

}

int Player::GetDistance(){
	return this-&gt;distance;
}

int Player::GetPosX(){
	return this-&gt;posx;
}

int Player::GetPosY(){
	return this-&gt;posy;
}

Player::~Player(){

}
</code></pre>
<pre><code class="language-cpp">/*
 * main.cpp
 *
 *  Created on: 21.07.2009
 *      Author: Administrator
 */
#include &quot;World.h&quot;

int main() {
	World myworld;
	myworld.StartLoop();
}
</code></pre>
<pre><code class="language-cpp">// ConsoleColor.h

#pragma once
#include &lt;iostream&gt;

#include &lt;windows.h&gt;

inline std::ostream&amp; blue(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE
              |FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream&amp; red(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
                FOREGROUND_RED|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream&amp; green(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
              FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream&amp; yellow(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
         FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
    return s;
}

inline std::ostream&amp; white(std::ostream &amp;s)
{
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,
       FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
    return s;
}

struct color {
    color(WORD attribute):m_color(attribute){};
    WORD m_color;
};

template &lt;class _Elem, class _Traits&gt;
std::basic_ostream&lt;_Elem,_Traits&gt;&amp;
      operator&lt;&lt;(std::basic_ostream&lt;_Elem,_Traits&gt;&amp; i, color&amp; c)
{
    HANDLE hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdout,c.m_color);
    return i;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1746857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746857</guid><dc:creator><![CDATA[Empire Phoenix]]></dc:creator><pubDate>Tue, 21 Jul 2009 11:05:39 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert. on Tue, 21 Jul 2009 10:58:35 GMT]]></title><description><![CDATA[<p>Deine Fehlerbeschreibung und dein langer Code sind nicht besonders hilfreich. Wird die Methode richtig aufgerufen? Überprüfe das doch mal mit dem Debugger, dann kommst du dem Fehler schnell auf die Spur.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746860</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 21 Jul 2009 10:58:35 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert. on Tue, 21 Jul 2009 11:02:12 GMT]]></title><description><![CDATA[<p>Aufgerufen wird die Methode (habe nen cout reingepackt, der den wert angibt)<br />
Das Problem ist das der wert zwar berechnet wird, dann es jedoch ist als würde alles verworfen, weil beim nächsten Update Aufruf ist wieder der alte Wert vorhanden.</p>
<p>Gerne würde ich weniger code posten, jedoch habe ich absolut keine Idee wodurch der Fehler kommen kann, ausser der (evtuellen) Eingrenzung auf World und Block.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746863</guid><dc:creator><![CDATA[Empire Phoenix]]></dc:creator><pubDate>Tue, 21 Jul 2009 11:02:12 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert. on Tue, 21 Jul 2009 11:06:11 GMT]]></title><description><![CDATA[<p>Kann es das sein?</p>
<pre><code class="language-cpp">while(p != blocklist.end()) { 
    Block current = *p; 
    current.Update(); 
    p++; 
}
</code></pre>
<p>current ist eine Kopie von *p. Du brauchst aber eine Referenz, sonst ändert sich nicht der Wert in der Liste!!!</p>
<pre><code class="language-cpp">while(p != blocklist.end()) { 
    Block&amp; current = *p; 
    current.Update(); 
    p++; 
}
</code></pre>
<p>oder gleich</p>
<pre><code class="language-cpp">while(p != blocklist.end()) { 
    p-&gt;Update(); 
    p++; 
}
</code></pre>
<p>Hilft das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746866</guid><dc:creator><![CDATA[tandem]]></dc:creator><pubDate>Tue, 21 Jul 2009 11:06:11 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert. on Tue, 21 Jul 2009 11:08:13 GMT]]></title><description><![CDATA[<p>Ah, ich habe den Fehler gefunden.</p>
<pre><code class="language-cpp">list&lt;Block&gt;::iterator p = this-&gt;blocklist.begin(); 
    while(p != blocklist.end()) { 
        Block current = *p;  // &lt;-
        current.Update(); 
        p++; 
    }
</code></pre>
<p>Du erstellst bei der Markierung eine lokale Kopie und updatest diese. Sowieso machst du deine Schleife unnötig kompliziert. Machs doch so:</p>
<pre><code class="language-cpp">for (list&lt;Block&gt;::iterator p = blocklist.begin(); p != blocklist.end(); ++p)
{
    p-&gt;Update();
}
</code></pre>
<p>Wenn du die Anweisungen trennen willst, brauchst du Referenzen, um nicht neue Objekte zu erstellen. Ausserdem brauchst du nicht ständig <code>this-&gt;</code> anzugeben. Und schreibe besser <code>++p</code> statt <code>p++</code> , das ist nämlich schneller, weil der Iterator direkt erhöht wird, während bei <code>p++</code> noch eine Kopie erstellt werden muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746867</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 21 Jul 2009 11:08:13 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert. on Tue, 21 Jul 2009 11:09:08 GMT]]></title><description><![CDATA[<p>Du veränderst ja auch immer nur eine lokale Kopie.</p>
<p>Nix gut:</p>
<pre><code class="language-cpp">while(p != blocklist.end()) { 
        Block current = *p; 
        current.Update(); 
        p++; 
    }
</code></pre>
<p>Viel gut:</p>
<pre><code class="language-cpp">while(p != blocklist.end()) { 
        Block&amp; current = *p; 
        current.Update(); 
        p++; 
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1746868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746868</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 21 Jul 2009 11:09:08 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert. on Tue, 21 Jul 2009 11:09:50 GMT]]></title><description><![CDATA[<p>Ich war auch schon zu langsam... <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/1746869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746869</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 21 Jul 2009 11:09:50 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert. on Tue, 21 Jul 2009 11:36:08 GMT]]></title><description><![CDATA[<p>Danke an euch alle 3, das wars jetzt gehts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Darauf wäre ich aber von selber nie gekommen. (Könnte damit zusammenhängen, das ich bislang in Java programmiert habe)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746893</guid><dc:creator><![CDATA[Empire Phoenix]]></dc:creator><pubDate>Tue, 21 Jul 2009 11:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariable funktioniert nicht ? Wertzuweisung wird ignoriert. on Tue, 21 Jul 2009 11:43:30 GMT]]></title><description><![CDATA[<p>Empire Phoenix schrieb:</p>
<blockquote>
<p>(Könnte damit zusammenhängen, das ich bislang in Java programmiert habe)</p>
</blockquote>
<p>Das ist sogar sehr wahrscheinlich. Du solltest wissen, dass man in C++ eher mit direkten Objekten arbeitet.</p>
<pre><code class="language-cpp">std::string a;       // erstellt einen gültigen leeren String (eigenständiges Objekt).
std::string&amp; r = a;  // C++-Referenz auf einen String (nicht Referenz wie in Java!).
std::string* p = &amp;a; // Zeiger auf einen String (flexibler als Referenz)

void Function(std::string Text);        // kopiert den std::string (kann teuer sein)
void Function(const std::string&amp; Text); // übergibt eine Const-Referenz und spart die Kopie.
</code></pre>
<p>Du solltest in deinem C++-Buch das Kapitel über Zeiger und Referenzen am besten genau durcharbeiten, damit du das nötige Verständnis erlangst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746900</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 21 Jul 2009 11:43:30 GMT</pubDate></item></channel></rss>