<?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[Map ableiten und iterator &amp;quot;verstecken&amp;quot;]]></title><description><![CDATA[<p>Hallo! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Mein Klasse hat die Basis std::map und eigendlich soll auch alles public sein, iterator jedoch portected. (const_iterator auch public)</p>
<p>Ist das irgendwie möglich?</p>
<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215373/map-ableiten-und-iterator-quot-verstecken-quot</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 04:13:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215373.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Jun 2008 11:12:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 11:12:11 GMT]]></title><description><![CDATA[<p>Hallo! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Mein Klasse hat die Basis std::map und eigendlich soll auch alles public sein, iterator jedoch portected. (const_iterator auch public)</p>
<p>Ist das irgendwie möglich?</p>
<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526284</guid><dc:creator><![CDATA[Pigeon@work]]></dc:creator><pubDate>Tue, 10 Jun 2008 11:12:11 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 11:16:41 GMT]]></title><description><![CDATA[<p>Pigeon@work schrieb:</p>
<blockquote>
<p>Hallo! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Mein Klasse hat die Basis std::map und eigendlich soll auch alles public sein, iterator jedoch portected. (const_iterator auch public)</p>
<p>Ist das irgendwie möglich?</p>
<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
</blockquote>
<p>Nein, zum Glück nicht: <a href="http://www.parashift.com/c++-faq-lite/proper-inheritance.html" rel="nofollow">Richtig vererben...</a><br />
Von STL-Containern zu erben ist auch nicht vorgesehen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526288</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 10 Jun 2008 11:16:41 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 11:53:54 GMT]]></title><description><![CDATA[<p>Das man nicht von std Containern erben soll habe ich nun öfter gehört. Gibts dafür auch einen Grund? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Was wäre denn &quot;richtig&quot;? std::map wrappen?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Danke für die schnelle Antwort <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1526311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526311</guid><dc:creator><![CDATA[Pigeon@work]]></dc:creator><pubDate>Tue, 10 Jun 2008 11:53:54 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 12:09:30 GMT]]></title><description><![CDATA[<p>Pigeon@work schrieb:</p>
<blockquote>
<p>Das man nicht von std Containern erben soll habe ich nun öfter gehört. Gibts dafür auch einen Grund? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Was wäre denn &quot;richtig&quot;? std::map wrappen?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Danke für die schnelle Antwort <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>
</blockquote>
<p>Der Hauptgrund liegt darin, dass die STL-Container keine virtuellen Destruktoren haben. Dadurch kann man schnell undefiniertes Verhalten produzieren, wenn man z.B. für einen Basiszeiger (der Container) abgeleitete Klassenobjekt löscht.</p>
<p>Einen &quot;Wrapper&quot; bzw. den gewünschten Container als Aggregat für eigene Klassen zu benutzen, wäre hier der richtige Ansatz.</p>
<p>PS: Ein gutes Beispiel, wie man es richtig macht, sind übrigens die Adaptertemplates der STL.<br />
<code>std::queue</code> ist z.B. so ein Adapter. Standardmäßig benutzt er <code>std::deque</code> und schränkt den Zugriff so ein, dass nur noch auf das erste bzw. letzte Element zugegriffen werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526317</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 10 Jun 2008 12:09:30 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 12:12:27 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>...Der Hauptgrund liegt darin, dass die STL-Container keine virtuellen Destruktoren haben....</p>
</blockquote>
<p>Hmmmm also ich hätte das jetzt eher als &quot;Konsequenz von...&quot; oder &quot;Kennzeichen für ...&quot; und weniger als &quot;Grund&quot; bezeichnet.</p>
<p>Einen Grund, warum die STL-Designer die Container nicht als mögliche Basisklasse entworfen (und damit virtuelle Destruktoren verpasst) haben, weiß ich auch nicht. Vielleicht aus dem Grund, weswegen Meyers und Sutter dringend zu abstrakten Basisklassen raten...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526325</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 10 Jun 2008 12:12:27 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 12:21:57 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Tachyon schrieb:</p>
<blockquote>
<p>...Der Hauptgrund liegt darin, dass die STL-Container keine virtuellen Destruktoren haben....</p>
</blockquote>
<p>Hmmmm also ich hätte das jetzt eher als &quot;Konsequenz von...&quot; oder &quot;Kennzeichen für ...&quot; und weniger als &quot;Grund&quot; bezeichnet.</p>
<p>Einen Grund, warum die STL-Designer die Container nicht als mögliche Basisklasse entworfen (und damit virtuelle Destruktoren verpasst) haben, weiß ich auch nicht. Vielleicht aus dem Grund, weswegen Meyers und Sutter dringend zu abstrakten Basisklassen raten...</p>
<p>Gruß,</p>
<p>Simon2.</p>
</blockquote>
<p>Die Frage war <em>nicht</em>, wieso die Container <em>nicht so entworfen wurden</em>, dass man nicht ableiten kann, sondern wieso man nicht davon ableiten kann. Und der Grund dafür ist eben, dass der Destruktor nicht virtuell ist.</p>
<p>Der Grund, weshalb es nicht so entworfen wurde, ist der, dass die Container benutzt werden sollen. Es sollen also nur has-a Beziehungen bestehen. In den wenigsten Fällen kann man die Container so ableiten und spezialisieren, dass tatsächlich eine is-a Beziehung dabei zustande kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526332</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 10 Jun 2008 12:21:57 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 12:38:34 GMT]]></title><description><![CDATA[<p>In meinen Augen ist die Fragestellung &quot;Wieso kann man von Containern nicht ableiten&quot; nicht eindeutig (&quot;Wieso kann mein Auto nicht schneller als 200 fahren ?&quot; =&gt; &quot;Weil es dann kaputtginge&quot; &lt;-&gt; &quot;Weil es als Familienkutsche entworfen wurde&quot;) Ich hätte die Frage zu Deiner Antwort gestellt als &quot;Woher kann man wissen, dass Container nicht zum ableiten gedacht sind ?&quot;</p>
<p>Tachyon schrieb:</p>
<blockquote>
<p>...Der Grund, weshalb es nicht so entworfen wurde, ist der, dass die Container benutzt werden sollen. Es sollen also nur has-a Beziehungen bestehen....</p>
</blockquote>
<p>Das ist ebenfalls nur eine Umformulierung von &quot;Man soll von ihnen nicht ableiten&quot;.</p>
<p>Tachyon schrieb:</p>
<blockquote>
<p>...In den wenigsten Fällen kann man die Container so ableiten und spezialisieren, dass tatsächlich eine is-a Beziehung dabei zustande kommt.</p>
</blockquote>
<p>Hmmm, also wenn ich mir hier die Anfragen im Forum ansehe, scheint es eine Menge Gründe zu geben, warum Leute &quot;MyVector&quot;-Klassen bauen wollen .... (auch, wenn ich selbst das nicht brauche).</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526347</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 10 Jun 2008 12:38:34 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 12:44:48 GMT]]></title><description><![CDATA[<p>Pigeon@work schrieb:</p>
<blockquote>
<p>Das man nicht von std Containern erben soll habe ich nun öfter gehört. Gibts dafür auch einen Grund?</p>
</blockquote>
<p>Ja, Tachyon hat dir einen guten Link zu dem Problem gegeben. Lies dir alles durch - auch wenn es auf den ersten Blick um etwas anderes zu gehen scheint: dem ist nicht so. Lies es mehrmals. Und erwarte trotzdem nicht, alles sofort verstehen zu können.</p>
<p>Alles Andere, wie z.B. fehlende virtuelle Destruktoren, sind technische Einzelheiten, die prinzipiell nur als Indiz gelten können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526360</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 10 Jun 2008 12:44:48 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 12:49:39 GMT]]></title><description><![CDATA[<blockquote>
<p>Ist das irgendwie möglich?</p>
</blockquote>
<p>Natürlich ist das möglich.</p>
<pre><code class="language-cpp">class MyMap:private std::map&lt;Foo, Bar&gt;{
  typedef std::map&lt;Foo, Bar&gt; super;
public:
  using super::size;
  using super::insert;
  ...
protected:
  using super::iterator;
  using super::begin;
  using super::end;
  ...

};
</code></pre>
<p>Per default ist alles was von map geerbt wird private. Durch ein using Konstrukt kannst du das jedoch ändern und du musst es für jeden Member explizit ändern. Upcasten kannst du auch nicht (außerhalb der Klasse zu mindest) und daher gibt es auch kein Problem mit Konstruktoren.</p>
<blockquote>
<p>Einen Grund, warum die STL-Designer die Container nicht als mögliche Basisklasse entworfen (und damit virtuelle Destruktoren verpasst) haben, weiß ich auch nicht.</p>
</blockquote>
<p>Die ganzen Containerklasen der STL verzichten komplett auf Laufzeitpolymorphie und erlauben dem Compiler daher ein sehr agressives Optimieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526365</guid><dc:creator><![CDATA[Ben04]]></dc:creator><pubDate>Tue, 10 Jun 2008 12:49:39 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 12:51:25 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>In meinen Augen ist die Fragestellung &quot;Wieso kann man von Containern nicht ableiten&quot; nicht eindeutig (&quot;Wieso kann mein Auto nicht schneller als 200 fahren ?&quot; =&gt; &quot;Weil es dann kaputtginge&quot; &lt;-&gt; &quot;Weil es als Familienkutsche entworfen wurde&quot;) Ich hätte die Frage zu Deiner Antwort gestellt als &quot;Woher kann man wissen, dass Container nicht zum ableiten gedacht sind ?&quot;</p>
</blockquote>
<p>Das ist mal wieder Haarspalterei (mache ich auch gerne <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="😉"
    /> ). Die Frage war aber ausreichend gut formuliert, um sie mit etwas gutem Willen verstehen zu können.</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>Tachyon schrieb:</p>
<blockquote>
<p>...Der Grund, weshalb es nicht so entworfen wurde, ist der, dass die Container benutzt werden sollen. Es sollen also nur has-a Beziehungen bestehen....</p>
</blockquote>
<p>Das ist ebenfalls nur eine Umformulierung von &quot;Man soll von ihnen nicht ableiten&quot;.</p>
</blockquote>
<p>Ja. Was ist daran auszusetzen? Ich bezog mich in diesem Falle ja auf <em>Deine</em> Aussagen.</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>Tachyon schrieb:</p>
<blockquote>
<p>...In den wenigsten Fällen kann man die Container so ableiten und spezialisieren, dass tatsächlich eine is-a Beziehung dabei zustande kommt.</p>
</blockquote>
<p>Hmmm, also wenn ich mir hier die Anfragen im Forum ansehe, scheint es eine Menge Gründe zu geben, warum Leute &quot;MyVector&quot;-Klassen bauen wollen .... (auch, wenn ich selbst das nicht brauche).</p>
</blockquote>
<p>In den meisten Fällen passiert das zu Lernzwecken. Da wird dann eh gleich die ganze Vektorlogik neu implementiert, ohne irgendwie von <code>std::vector</code> zu erben. Dabei geht es dann meist irgendwie um Operatorüberladung, dynamisches Speichermanagement etc. Daran ist erstmal nicht so viel auszusetzen.</p>
<p>In den restlichen Fällen ist es fast ausschließlich so, dass bei der (public) Vererbung von <code>std::vector</code> irgendwie versucht wird, die öffentliche Schnittstelle der Klasse irgendwie einzuschränken.Und das ist schon mal von Ansatz her völlig falsch. Wenn man z.B. wie der OP versucht, Iteratoren zu verbergen, dann ist die Ableitung eben <strong>keine</strong> Map mehr. Denn dann hätte sie ihre Iteratoren noch.<br />
Und großartig erweitern lassen sich die Container nicht, da sich die Funktionalität kaum noch sinnvoll erweitern lässt. Zum einen, da man eh nur Zugriff auf die öffentliche Schnittstelle hat, zum anderen, weil sich die Funktionalität aufgrund der fehlenden Virtualität nicht anpassen lässt.<br />
Das einzige, was in Frage kommt, wäre eine private Ableitung, aber das ist auch nichts anderes, als den Vektor als Member der eigenen Klasse zu halten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526367</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 10 Jun 2008 12:51:25 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 13:24:27 GMT]]></title><description><![CDATA[<p>Ben04 schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>Nur ist das keine Vererbung sondern eine syntaktische Variante einer Aggregation...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526392</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 10 Jun 2008 13:24:27 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 14:05:52 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>...Die Frage war aber ausreichend gut formuliert, um sie mit etwas gutem Willen verstehen zu können...</p>
</blockquote>
<p>Also ich habe eine Menge guten Willen mitgebracht und sie spontan genau so verstanden: &quot;Warum kann man STL-Container nicht ableiten ?&quot; &lt;=&gt; &quot;Was ist der dahinterliegende Sinn ?&quot;</p>
<p>Tachyon schrieb:</p>
<blockquote>
<p>Simon2 schrieb:</p>
<blockquote>
<p>Tachyon schrieb:</p>
<blockquote>
<p>...Der Grund, weshalb es nicht so entworfen wurde, ist der, dass die Container benutzt werden sollen. Es sollen also nur has-a Beziehungen bestehen....</p>
</blockquote>
<p>Das ist ebenfalls nur eine Umformulierung von &quot;Man soll von ihnen nicht ableiten&quot;.</p>
</blockquote>
<p>Ja. Was ist daran auszusetzen? ...</p>
</blockquote>
<p>Na, dass sie die Frage immer noch nicht beantwortet: &quot;Warum soll (Aggregation (= 'has-a'-Relation) aber) keine Vererbung (= 'is-a'-Relation) unterstützt werden ?&quot;</p>
<p>Die Beispiele, an die ich mich hier im Forum erinnere, haben durchaus wohlklingende Motivationen (z.B. Konsistenzchecks beim Einfügen).<br />
Ich persönlich lehne das zwar auch ab, weil ich bislang immer &quot;sauberer&quot; Lösungen ohne Vererbung gefunden habe ... aber echte zwingende Argumente für einen Vektor, der alles herkömmliche UND etwas Zusätzliches kann, habe ich auch nicht.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526399</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526399</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 10 Jun 2008 14:05:52 GMT</pubDate></item><item><title><![CDATA[Reply to Map ableiten und iterator &amp;quot;verstecken&amp;quot; on Tue, 10 Jun 2008 13:43:19 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Na, dass sie die Frage immer noch nicht beantwortet: &quot;Warum soll (Aggregation (= 'has-a'-Relation) aber) keine Vererbung (= 'is-a'-Relation) unterstützt werden ?&quot;</p>
</blockquote>
<p>Weil es dem Design der STL zuwider läuft. Die STL soll aus möglichst kleinen, benutzbaren Einheiten bestehen. So weit wie möglich sollen generische Algorithmen unabhängig vom verwendeten Container darauf angewandt werden können. Einschränkungen oder Erweiterungen sollen über Adapterklassentemplates realisiert werden. Das war halt die Philosophie beim Design der STL (zumindest, wenn ich die Pamphlete der Macher richtig verstanden habe).</p>
<p>Um mal auf die &quot;Erweiterung&quot; des Vector-Templates mit Plausiblitätschecks zurückzukommen:<br />
Hier sollte meistens die Schnittstelle so beschnitten werden, dass <strong>nur</strong> noch jede Operationen zur Verfügung stehen, die Checks beinhalten.<br />
Wenn man eine Klasse von Vektor erben lässt, und die erbende Klasse die Schnittstelle so verbiegt, dass alle Zugriffe mit solchen Checks versehen werden, dann ist die abgeleitete Klasse eben <strong>kein</strong> Vektor mehr. Soll heissen: Es ist eben <strong>nicht</strong> möglich, überall da, wo man den normalen Vektor benutzen kann auch die abgeleitete Klasse benutzen kann. Und wenn dem so ist, dann ist Vererbung hier eben <strong>nicht</strong> das Mittel der Wahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526411</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 10 Jun 2008 13:43:19 GMT</pubDate></item></channel></rss>