<?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[Multiple Vererbung]]></title><description><![CDATA[<p>Ich hab folgendes Szenario: Ich möchte alte C Structs wrappen.</p>
<p>Dies ist nicht das Problem</p>
<pre><code class="language-cpp">struct OldC {int old;}; 
typedef struct OldC OldC;
struct NewC : OldC {}; 
typedef struct NewC NewC;
</code></pre>
<p>Das klappt und ist nutzbar. Nun habe ich ne menge C-Structs und derer gewrappte Erblinge und möchte diese einheitlich durch ein Cursor-Konzept verwalten, sprich auf alle Typen die gleichen Methoden anwenden</p>
<p>Ich habe also eine Menge Structs mit dem Namen NewC1, NewC2, NewC3, die nicht polymorph sind. Durch mehrfache Vererbung kann ich meine NewCs ja von einem gemeinsamen vorfahren erben lassen</p>
<pre><code class="language-cpp">struct NewC1 : OldC1 , Foo{};
struct NewC2 : OldC2 , Foo{};
</code></pre>
<p>So könnte ich nem vector&lt;Foo&gt; theoretisch alle NewCs speichern aber nicht auf die Variablen von OldC zugreifen, korrekt? Das erbt ja nicht von Foo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/233031/multiple-vererbung</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 03:11:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/233031.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Jan 2009 13:12:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Multiple Vererbung on Fri, 30 Jan 2009 13:12:47 GMT]]></title><description><![CDATA[<p>Ich hab folgendes Szenario: Ich möchte alte C Structs wrappen.</p>
<p>Dies ist nicht das Problem</p>
<pre><code class="language-cpp">struct OldC {int old;}; 
typedef struct OldC OldC;
struct NewC : OldC {}; 
typedef struct NewC NewC;
</code></pre>
<p>Das klappt und ist nutzbar. Nun habe ich ne menge C-Structs und derer gewrappte Erblinge und möchte diese einheitlich durch ein Cursor-Konzept verwalten, sprich auf alle Typen die gleichen Methoden anwenden</p>
<p>Ich habe also eine Menge Structs mit dem Namen NewC1, NewC2, NewC3, die nicht polymorph sind. Durch mehrfache Vererbung kann ich meine NewCs ja von einem gemeinsamen vorfahren erben lassen</p>
<pre><code class="language-cpp">struct NewC1 : OldC1 , Foo{};
struct NewC2 : OldC2 , Foo{};
</code></pre>
<p>So könnte ich nem vector&lt;Foo&gt; theoretisch alle NewCs speichern aber nicht auf die Variablen von OldC zugreifen, korrekt? Das erbt ja nicht von Foo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654986</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Fri, 30 Jan 2009 13:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to Multiple Vererbung on Fri, 30 Jan 2009 13:18:57 GMT]]></title><description><![CDATA[<p>Sehe ich das richtig, dass Du versuchen willst, möglichst viele verschiedene Typen in den gleichen Vektor zu packen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654991</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 30 Jan 2009 13:18:57 GMT</pubDate></item><item><title><![CDATA[Reply to Multiple Vererbung on Fri, 30 Jan 2009 13:24:03 GMT]]></title><description><![CDATA[<p>Ja, so ungefähr, ich habe über 40 gewrappte C Structs und viele haben in der Regel die gleichen Attribute. Ich untersuche also, ob es möglich ist, diese verschiedenen Elemente einheitlich durch ein Cursor- oder Iterator-Konzept zu bearbeiten. Quasi ne addMeinMagic Methode, die auf allen Structs arbeitet.<br />
Im Moment bin ich der Meinung, dass es nicht so geschickt wäre, dies zu tun</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654998</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Fri, 30 Jan 2009 13:24:03 GMT</pubDate></item><item><title><![CDATA[Reply to Multiple Vererbung on Fri, 30 Jan 2009 13:27:32 GMT]]></title><description><![CDATA[<p>Kannst Du mal ein paar Beispiele für Deine C-Stukturen geben (wenns geht, konkrete, keine hypothetischen), und nochmal genau beschreiben, was Du mit den Strukturen machen willst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655002</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 30 Jan 2009 13:27:32 GMT</pubDate></item><item><title><![CDATA[Reply to Multiple Vererbung on Fri, 30 Jan 2009 13:33:13 GMT]]></title><description><![CDATA[<p>Der war schon recht konkret, hier ein Beispiel:</p>
<pre><code class="language-cpp">struct Attribute{
	char *name;
	char *val;

};
typedef struct Attribute Attribute;

struct Aggr {
	char *name;
	char *val;
	int typ;
    Attribute attr;
};
typedef struct Aggr Aggr;

struct Vec2D {
	double x;
	double y;
    Attribute attr;
};
typedef struct Vec2D Vec2D;
</code></pre>
<p>Dies sind die C-Structs und für mich versiegelt, ich kann diese nicht modifizieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655011</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Fri, 30 Jan 2009 13:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to Multiple Vererbung on Fri, 30 Jan 2009 13:44:40 GMT]]></title><description><![CDATA[<p>Die Strukturen repräsentieren doch jeweils völlig unterschiedliche Dinge. Du solltest nicht aus purer Bequemlichkeit versuchen, das irgendwie zusammenzufassen.<br />
Separate Dinge sollte man auch separat speichern.<br />
Evtl. kann man eine Union mit einem Typeswitch nehmen, da es POD-Typen sind, aber schön ist das auf jeden Fall nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655017</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 30 Jan 2009 13:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to Multiple Vererbung on Fri, 30 Jan 2009 13:43:53 GMT]]></title><description><![CDATA[<p>Geht nicht um Bequemlichkeit. Wollte nur verschiedene Ansätze und deren Probleme aufführen, bin ja deiner Meinung.</p>
<p>Edit: Achja: Arbeitet die Polymorphie auf Klassen oder Objekten? Auf Klassen, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655023</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Fri, 30 Jan 2009 13:43:53 GMT</pubDate></item><item><title><![CDATA[Reply to Multiple Vererbung on Fri, 30 Jan 2009 13:46:07 GMT]]></title><description><![CDATA[<p>Seikilos schrieb:</p>
<blockquote>
<p>Geht nicht um Bequemlichkeit. Wollte nur verschiedene Ansätze und deren Probleme aufführen, bin ja deiner Meinung.</p>
<p>Edit: Achja: Arbeitet die Polymorphie auf Klassen oder Objekten? Auf Klassen, oder?</p>
</blockquote>
<p>Kommt auf die Art der Polymorphie an. Es gibt statische und dynamische. Erstere arbeitet auf Klassen (Templates) und zweitere auf Objekten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1655029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1655029</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 30 Jan 2009 13:46:07 GMT</pubDate></item></channel></rss>