<?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[Nochmal frage zwecks Klassenstructur?]]></title><description><![CDATA[<p>folgende Konstellation:</p>
<pre><code class="language-cpp">class B : public Basis{

B(...) : Basis(...);
~B();
};

class A : public Basis{

A(...) : Basis(...);
~A();
};

class Basis{

Basis(...);
vitrual ~Basis()=0;
};

class Kombination{
.
.
.
.
.

 std::list&lt;Basis*&gt; LIST;

};
</code></pre>
<p>HAbe eine klasse &quot;Kombiantion&quot; welches nur Abgeleitet Objekt von Basis enthalten kann, da Basis abstact ist! Beim erzeugen des kombinations- Objekts soll schon ein Objekt in die Liste gepushed werden. Wie kann ich beim erzeugen des Kombiantionobjetks dem Kombiinationobjekt sagen das es entweder nur A oder nur B objekte enthält??</p>
<p>Template?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/186566/nochmal-frage-zwecks-klassenstructur</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 09:53:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186566.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Jul 2007 10:51:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nochmal frage zwecks Klassenstructur? on Tue, 10 Jul 2007 10:51:33 GMT]]></title><description><![CDATA[<p>folgende Konstellation:</p>
<pre><code class="language-cpp">class B : public Basis{

B(...) : Basis(...);
~B();
};

class A : public Basis{

A(...) : Basis(...);
~A();
};

class Basis{

Basis(...);
vitrual ~Basis()=0;
};

class Kombination{
.
.
.
.
.

 std::list&lt;Basis*&gt; LIST;

};
</code></pre>
<p>HAbe eine klasse &quot;Kombiantion&quot; welches nur Abgeleitet Objekt von Basis enthalten kann, da Basis abstact ist! Beim erzeugen des kombinations- Objekts soll schon ein Objekt in die Liste gepushed werden. Wie kann ich beim erzeugen des Kombiantionobjetks dem Kombiinationobjekt sagen das es entweder nur A oder nur B objekte enthält??</p>
<p>Template?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1322173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1322173</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 10 Jul 2007 10:51:33 GMT</pubDate></item><item><title><![CDATA[Reply to Nochmal frage zwecks Klassenstructur? on Tue, 10 Jul 2007 11:00:11 GMT]]></title><description><![CDATA[<blockquote>
<p>Beim erzeugen des kombinations- Objekts soll schon ein Objekt in die Liste gepushed werden.</p>
</blockquote>
<p>Du könntest dem Ctor das erste Objekt mitgeben, das du in die Liste packen willst.</p>
<blockquote>
<p>Wie kann ich beim erzeugen des Kombiantionobjetks dem Kombiinationobjekt sagen das es entweder nur A oder nur B objekte enthält??</p>
</blockquote>
<p>Wie meinen?</p>
<p>(PS: Vielleicht solltest du etwas langsamer schreiben und die Texte vor dem Abschicken auf auffällige Rechtschreibfehler überfliegen ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1322181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1322181</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 10 Jul 2007 11:00:11 GMT</pubDate></item><item><title><![CDATA[Reply to Nochmal frage zwecks Klassenstructur? on Tue, 10 Jul 2007 11:03:59 GMT]]></title><description><![CDATA[<p>ok wenn ich ein Kombinationobjekt erzeuge, würd ich dem Objekt gern den Typ (in dem fall A oder <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> mitteilen, was es später enthalten soll?</p>
<pre><code class="language-cpp">class Kombination{

  Kombination(/*TYP*/){
  }

};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1322185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1322185</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 10 Jul 2007 11:03:59 GMT</pubDate></item><item><title><![CDATA[Reply to Nochmal frage zwecks Klassenstructur? on Tue, 10 Jul 2007 11:10:34 GMT]]></title><description><![CDATA[<p>Du meinst, die Klasse soll entweder nur A-Objekte oder nur B-Objekte enthalten? Das bekommst du auf Compiler-Ebene nicht hin, wenn du die Daten intern in einen vector&lt;Base*&gt; packst. Mit der Konstellation kannst du nur zur Laufzeit abfragen, ob der tatsächliche Typ &quot;passt&quot;.</p>
<p>Die Alternative wären Templates:</p>
<pre><code class="language-cpp">//Klasse Kombination&lt;A&gt; schluckt keine B-Objekte und umgekehrt
template&lt;typename T&gt;
class Kombination
{
  std::list&lt;T&gt; LIST;
  ...
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1322190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1322190</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 10 Jul 2007 11:10:34 GMT</pubDate></item><item><title><![CDATA[Reply to Nochmal frage zwecks Klassenstructur? on Tue, 10 Jul 2007 11:13:21 GMT]]></title><description><![CDATA[<p>jepp genau..<br />
hab ich mir gedacht, das man das nur mit Template lösen kann... naja ist nich so schlimm:)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1322192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1322192</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 10 Jul 2007 11:13:21 GMT</pubDate></item><item><title><![CDATA[Reply to Nochmal frage zwecks Klassenstructur? on Tue, 10 Jul 2007 11:16:53 GMT]]></title><description><![CDATA[<p>So wie CStoll vorgeschlagen hat, einfach zwei Konstruktoren definieren:</p>
<pre><code class="language-cpp">class Kombination
{
  Kombination(const A* a)
  {
    LIST.push_back(a);
  }

  Kombination(const B* b)
  {
    LIST.push_back(b);
  }
};
</code></pre>
<p>Dies hat natürlich den Nachteil, daß die Basisklasse die Typen A und B kennen muß. Evtl. solltest du dann lieber eine Hilfsfunktion dafür generieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1322197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1322197</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Tue, 10 Jul 2007 11:16:53 GMT</pubDate></item></channel></rss>