<?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[Vererbung usw]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab folgendes Problem.</p>
<p>Hab 3 Klassen:<br />
class A {}<br />
class B : public A{}<br />
class C : public B{}</p>
<p>Ich möchte nun folgendes erreichen:<br />
Mehrere Objekte von Klasse C sollen auf ein und dasselbe Objekt B zeigen (davon erben). dh: C soll wie ein B &quot;aussehen&quot; (und sich so verhalten), aber &quot;intern&quot; bei Methodenaufrufen auf B zugreifen.</p>
<p>Eine Möglichkeit das zu verwirklichen wäre, dass man jeden Memberzugriff/Methodenzugriff in C überschreibt und auf das gesetzte B objekt wrapped... Ist aber Aufwand und bei Änderungen von A oder B muss man auch C umbauen...<br />
Bei B objekten müsste man natürlich eine Art &quot;Reference Counter&quot; mitführen um zu sehen, wer noch darauf referenziert und eine vorzeitige Löschung umgehen...</p>
<p>Ich hoffe irgendwer versteht mich und hat eine bessere Lösung <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>
<p>danke im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/197739/vererbung-usw</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 14:55:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/197739.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Nov 2007 11:03:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vererbung usw on Wed, 14 Nov 2007 11:07:57 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab folgendes Problem.</p>
<p>Hab 3 Klassen:<br />
class A {}<br />
class B : public A{}<br />
class C : public B{}</p>
<p>Ich möchte nun folgendes erreichen:<br />
Mehrere Objekte von Klasse C sollen auf ein und dasselbe Objekt B zeigen (davon erben). dh: C soll wie ein B &quot;aussehen&quot; (und sich so verhalten), aber &quot;intern&quot; bei Methodenaufrufen auf B zugreifen.</p>
<p>Eine Möglichkeit das zu verwirklichen wäre, dass man jeden Memberzugriff/Methodenzugriff in C überschreibt und auf das gesetzte B objekt wrapped... Ist aber Aufwand und bei Änderungen von A oder B muss man auch C umbauen...<br />
Bei B objekten müsste man natürlich eine Art &quot;Reference Counter&quot; mitführen um zu sehen, wer noch darauf referenziert und eine vorzeitige Löschung umgehen...</p>
<p>Ich hoffe irgendwer versteht mich und hat eine bessere Lösung <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>
<p>danke im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402978</guid><dc:creator><![CDATA[hephaistos6]]></dc:creator><pubDate>Wed, 14 Nov 2007 11:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung usw on Wed, 14 Nov 2007 11:30:03 GMT]]></title><description><![CDATA[<p>Erstmal - zwischen &quot;erben&quot; (Beziehung zwischen <strong>Klassen</strong>) und &quot;darauf zeigen&quot; besteht ein gewaltiger Unterschied. Mach dir doch erstmal klar, was du eigentlich beabsichtigst - und versuch uns das ein wenig konkreter zu vermitteln als mit Klasse A, B und C.</p>
<p>PS: Für &quot;Referenz Counter&quot; würde ich einen Smart-Pointer verwenden - boost::shared_ptr&lt;&gt; bietet sich an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402994</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 14 Nov 2007 11:30:03 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung usw on Wed, 14 Nov 2007 11:37:10 GMT]]></title><description><![CDATA[<p>hephaistos6 schrieb:</p>
<blockquote>
<p>ich hab folgendes Problem.</p>
</blockquote>
<p>Wenn man nichts zu essen hat oder kein Dach über den Kopf, hat man ein Problem. <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="😉"
    /></p>
<p>hephaistos6 schrieb:</p>
<blockquote>
<p>Hab 3 Klassen:<br />
class A {}<br />
class B : public A{}<br />
class C : public B{}</p>
<p>Ich möchte nun folgendes erreichen:<br />
Mehrere Objekte von Klasse C sollen auf ein und dasselbe Objekt B zeigen (davon erben).</p>
</blockquote>
<p>Dann benutze auch das Wort erben... sonst verwirrt das einen nur.</p>
<p>hephaistos6 schrieb:</p>
<blockquote>
<p>dh: C soll wie ein B &quot;aussehen&quot; (und sich so verhalten), aber &quot;intern&quot; bei Methodenaufrufen auf B zugreifen.</p>
</blockquote>
<p>Bis hier konnte ich dir folgen und hatte auch schon eine Lösung im Kopf... das nachfolgende hat mich verwirrt, und ich weiß nicht weiter...</p>
<p>Ich bleibe mal bei dem von mir zitierten. Das was du suchst, ist ein sogenanntes Adapter-Pattern. Und wie man es implementiert, hast du auch schon selber gesagt. Fragt sich nur, warum du es so nicht machst? Das was höchstens noch nötig wäre, ist eine abstrakte Klasse, mit dem B-Interface. Wenn du das noch nicht hast, mußt du das noch machen, sonst wirds schwer mit der Umsetzung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1402997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1402997</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Wed, 14 Nov 2007 11:37:10 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung usw on Wed, 14 Nov 2007 11:53:26 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>I know - sounds weired - drum find ich auch keine vernünftige Lösung.<br />
Ich hätte das &quot;delegate Pattern&quot; im Auge, aber da muss man halt alle Methoden wrappen...</p>
<p>naja, danke vorerst. meld mich, wenn ich was hab <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/1403004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403004</guid><dc:creator><![CDATA[hephaistos6]]></dc:creator><pubDate>Wed, 14 Nov 2007 11:53:26 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung usw on Wed, 14 Nov 2007 12:18:16 GMT]]></title><description><![CDATA[<p>okay, da mir tatsächlich nicht eine super Lösung einfällt, hier die genaue Beschreibung.</p>
<p>Es geht um einen Graphen. Ein Graph G besteht aus Nodes und Edges (V, E).<br />
Um irgendwelche Positionen zu speichern werden temporär Knoten (TmpNodes) in diesen Graphen eingefügt. Diese können für die Wegberechnung verwendet werden und modifizieren den zugrunde liegenden Graphen also...<br />
TmpNodes erben von der Node Klasse.<br />
Nun genügen mir aber TmpNode Objekte nicht mehr, da ich an diesen temporären Stellen nun zwischen Links und Rechts unterscheiden muss. Es genügt aber nicht in TmpNodes ein Attribut mit Links/Rechts einzufügen, da auch beide Seiten gelten können müssen - diese müssen aber unterscheidbar sein! dh: das müssen 2 Knoten sein.<br />
Also das Problem ist, dass ich gerne einen SpecNode hätte, der eben einerseits auf einen vorhanden TmpNode zeigt und dessen Eigenschaften besitzt (und auch davon erbt), aber andererseits diese Zusatzinformation &quot;Seite&quot; hat...</p>
<p>Versteht mich nun irgendwer besser und weiss, wie ich mein Problem elegant lösen könnte? (ohne Alle Eigenschaften/Methoden von Node und TmpNode in SpecNode zu wrappen...)</p>
<p>danke im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403018</guid><dc:creator><![CDATA[hephaistos6]]></dc:creator><pubDate>Wed, 14 Nov 2007 12:18:16 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung usw on Wed, 14 Nov 2007 12:39:57 GMT]]></title><description><![CDATA[<p>Wie waere es, wenn du in deinen TmpNodes eine Specliste unterbringst, sprich an den Node mehrere Datenpakete mit rechts/links/oben/unten Informationen anbringen kannst.<br />
Deine Beschreibung der Nodes und der rechts-links-informationen ist noch immer etwas schwammig, daher kann ich dir kein konkretes Beispiel geben. <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403034</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 14 Nov 2007 12:39:57 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung usw on Wed, 14 Nov 2007 12:45:07 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ja kann sein, dass es &quot;schwammig&quot; ist - aber ich weiss nicht, wie ich es besser erklären soll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f622.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--crying_face"
      title=";("
      alt="😢"
    /></p>
<p>Ich kann leider nicht in meinem TmpNode diese Infos unterbringen, da ich gerne auch von SpecNode nach SpecNode in meinem Graphen reisen möchte.<br />
dh: von Rechts nach Links [oder Oben und Unten :)]<br />
Vielleicht hilft das ein wenig mehr zum Verständnis?</p>
<p>weiterhin danke für konstruktive Vorschläge...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403036</guid><dc:creator><![CDATA[hephaistos6]]></dc:creator><pubDate>Wed, 14 Nov 2007 12:45:07 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung usw on Wed, 14 Nov 2007 13:44:31 GMT]]></title><description><![CDATA[<p>Beschreib doch mal dein allgemeines Problem. Was willst du mit dem Graphen anfangen, welche Aufgabe willst du loesen? Du sprichst oben allgemein von einem Graphen, dann ploetzlich von einer Wegbeschreibung (was in einem allgemeinen Graphen nicht vorkommt). Wo fuegst du deine Tmp-nodes ein (an Stelle eines anderen nodes, oder teilst du eine Kante und fuegst den node dazwischen, oder kommt der TMpnode in den freien Raum und Kanten zu irgendwelchen anderen Nodes daran...)<br />
Und was genau willst du mit den Links-rechts Attributen erreichen, die ja einerseits an der selben temporaeren stelle sein sollen aber andererseits raeumlich getrennt (du willst ja von einem zum anderen reisen), was mir recht unlogisch klingt.<br />
Versuchs mal mit einer moeglichst genauen Beschreibung der Situation und deiner Gedankengaenge, denn wir sitzen hier leider nicht in deinem Kopf und koennen mithoeren <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403076</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 14 Nov 2007 13:44:31 GMT</pubDate></item></channel></rss>