<?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[Typumwandlung]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich komme bei einem Vererbungsproblem nicht weiter. Warum kann ich nicht einfach ein paar Pointer vergleichen, egal auf was sie zeigen? Hat das irgendein tieferen Sinn, oder war die fürsorgliche Mama da etwas übereifrig?</p>
<pre><code class="language-cpp">class A {
public:
	int i;
};

class B {
public:
	char c;
};

class C : public A, public B {

};

int main() {
	C *c=new C();
	A *a=c;
	B *b=c;

	if (a==c) {}
	if (a==b) {} // Geht nicht: Keine Konvertierung von 'B *' in 'A *'

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/263151/typumwandlung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 00:24:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263151.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Mar 2010 16:03:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Typumwandlung on Tue, 16 Mar 2010 16:03:22 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich komme bei einem Vererbungsproblem nicht weiter. Warum kann ich nicht einfach ein paar Pointer vergleichen, egal auf was sie zeigen? Hat das irgendein tieferen Sinn, oder war die fürsorgliche Mama da etwas übereifrig?</p>
<pre><code class="language-cpp">class A {
public:
	int i;
};

class B {
public:
	char c;
};

class C : public A, public B {

};

int main() {
	C *c=new C();
	A *a=c;
	B *b=c;

	if (a==c) {}
	if (a==b) {} // Geht nicht: Keine Konvertierung von 'B *' in 'A *'

	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1869925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1869925</guid><dc:creator><![CDATA[...]]></dc:creator><pubDate>Tue, 16 Mar 2010 16:03:22 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung on Tue, 16 Mar 2010 16:20:56 GMT]]></title><description><![CDATA[<p>Argh! Ich habs verstanden. Die Pointer Adressen werden ja nicht einfach kopiert. In a und b stehen verschiedene Adressen. a zeigt auf das A Objekt in C, welches zufällig auch der Anfang von C ist, während b auf das B Objekt in C zeigt und &quot;hinter&quot; A liegt. Deshalb kann der Pointervergleich auch nicht gehen...</p>
<p>Erledigt und Mea Culpa. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1869934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1869934</guid><dc:creator><![CDATA[...]]></dc:creator><pubDate>Tue, 16 Mar 2010 16:20:56 GMT</pubDate></item><item><title><![CDATA[Reply to Typumwandlung on Tue, 16 Mar 2010 16:29:14 GMT]]></title><description><![CDATA[<p>Exakt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1869940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1869940</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Tue, 16 Mar 2010 16:29:14 GMT</pubDate></item></channel></rss>