<?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[Probleme bei der Dereferenzierung von Pointern]]></title><description><![CDATA[<p>hi, ich packs irgendwie nicht den Inhalt von Pointern, in meiner Übung ein Objekt auf dem Heap, in einen anderen Pointer zu kopieren. Der = Operator wird dabei anscheinend nicht ausgeführt bzw ich dereferenziere sicher völlig falsch.<br />
Ich hoffe mir kann da jemand weiterhelfen:</p>
<pre><code class="language-cpp">class Sub;
class Basis
{
public:
	virtual void result() const = 0;
	virtual const Sub&amp; operator=(const Sub&amp;) = 0;
	virtual ~Basis() {}
};

class Sub:public Basis
{
	int j;
public:
	Sub(int jj = 0) : j(jj) {}
	friend const Sub operator+(const Sub&amp; left, const Sub&amp; right) {
		return Sub(left.j+right.j);
	}
	const Sub&amp; operator=(const Sub&amp; right) {
		if(this!=&amp;right) 
			j = right.j;
		return *this;
	}
	void result() const { std::cout &lt;&lt; j &lt;&lt; std::endl; }
};

/* MAIN */
int main()
{
         Basis* sub = new Sub;
	Basis* subarray[2] = { new Sub(5), new Sub(20) };

	//funzt nicht, kein Aufruf des = Operators
	*sub = *subarray[1];
	sub-&gt;result();

//  *sub = *subarray[1] + *subarray[1];

	//funzt, = operator wird aufgerufen
	Sub b(10);
	*sub = b;
	sub-&gt;result();

//*sub = b+b
         return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/152597/probleme-bei-der-dereferenzierung-von-pointern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 02:47:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152597.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Jul 2006 16:36:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme bei der Dereferenzierung von Pointern on Fri, 07 Jul 2006 16:36:13 GMT]]></title><description><![CDATA[<p>hi, ich packs irgendwie nicht den Inhalt von Pointern, in meiner Übung ein Objekt auf dem Heap, in einen anderen Pointer zu kopieren. Der = Operator wird dabei anscheinend nicht ausgeführt bzw ich dereferenziere sicher völlig falsch.<br />
Ich hoffe mir kann da jemand weiterhelfen:</p>
<pre><code class="language-cpp">class Sub;
class Basis
{
public:
	virtual void result() const = 0;
	virtual const Sub&amp; operator=(const Sub&amp;) = 0;
	virtual ~Basis() {}
};

class Sub:public Basis
{
	int j;
public:
	Sub(int jj = 0) : j(jj) {}
	friend const Sub operator+(const Sub&amp; left, const Sub&amp; right) {
		return Sub(left.j+right.j);
	}
	const Sub&amp; operator=(const Sub&amp; right) {
		if(this!=&amp;right) 
			j = right.j;
		return *this;
	}
	void result() const { std::cout &lt;&lt; j &lt;&lt; std::endl; }
};

/* MAIN */
int main()
{
         Basis* sub = new Sub;
	Basis* subarray[2] = { new Sub(5), new Sub(20) };

	//funzt nicht, kein Aufruf des = Operators
	*sub = *subarray[1];
	sub-&gt;result();

//  *sub = *subarray[1] + *subarray[1];

	//funzt, = operator wird aufgerufen
	Sub b(10);
	*sub = b;
	sub-&gt;result();

//*sub = b+b
         return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1093405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093405</guid><dc:creator><![CDATA[Newbie17]]></dc:creator><pubDate>Fri, 07 Jul 2006 16:36:13 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme bei der Dereferenzierung von Pointern on Fri, 07 Jul 2006 16:58:11 GMT]]></title><description><![CDATA[<p>Hier</p>
<pre><code class="language-cpp">*sub = *subarray[1];
</code></pre>
<p>wird der am besten passende operator= aufgerufen, und das ist der deafultmäßig erstellte deiner Basisklasse, da du einem Objekt vom Typ Basis eins vom Typ Basis zuweisen willst. Polymorphismus funktioniert halt nur mit Pointern oder Referenzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1093420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1093420</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 07 Jul 2006 16:58:11 GMT</pubDate></item></channel></rss>