<?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[Methoden der Basisklasse TEILWEISE übernehmen]]></title><description><![CDATA[<p>Ich habe zwei Klassen:<br />
Sprite (Bildchen) und Rect (Rechteck).<br />
Die Sprite-Klasse soll alle Methoden von Rect erben außer setWidth() und setHeigth, weil die durch die größe des geladenen Bildchens festgelegt sind.</p>
<p>(Nebenbei: Brauchen rein-virtuelle Klassen Konstruktor und/oder Destruktor?)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204177/methoden-der-basisklasse-teilweise-übernehmen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 00:33:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204177.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 30 Jan 2008 21:08:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Wed, 30 Jan 2008 21:19:57 GMT]]></title><description><![CDATA[<p>Ich habe zwei Klassen:<br />
Sprite (Bildchen) und Rect (Rechteck).<br />
Die Sprite-Klasse soll alle Methoden von Rect erben außer setWidth() und setHeigth, weil die durch die größe des geladenen Bildchens festgelegt sind.</p>
<p>(Nebenbei: Brauchen rein-virtuelle Klassen Konstruktor und/oder Destruktor?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446663</guid><dc:creator><![CDATA[obbba]]></dc:creator><pubDate>Wed, 30 Jan 2008 21:19:57 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Wed, 30 Jan 2008 23:43:26 GMT]]></title><description><![CDATA[<p>könntest privat erben, und alles was mitsoll mit using wieder reinlassen,<br />
baer meist ist sowas rumgefrickel und es gibt bessere wege</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446734</guid><dc:creator><![CDATA[Treb]]></dc:creator><pubDate>Wed, 30 Jan 2008 23:43:26 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Thu, 31 Jan 2008 06:46:11 GMT]]></title><description><![CDATA[<p>obbba schrieb:</p>
<blockquote>
<p>(Nebenbei: Brauchen rein-virtuelle Klassen Konstruktor und/oder Destruktor?)</p>
</blockquote>
<p>Zumindestens einen virtuellen Destruktor solltest du im Regelfall allen Klassen verpassen die als Basisklasse dienen.</p>
<p>obbba schrieb:</p>
<blockquote>
<p>Die Sprite-Klasse soll alle Methoden von Rect erben außer setWidth() und setHeigth,...</p>
</blockquote>
<p>Ich würde sagen: falsches Design. Mehrere Möglichkeiten:<br />
a) Du verpasst beiden Klassen eine gemeinsame Basisklasse und leitest davon ab<br />
b) Du nutzt Komposition und verpasst deiner Spreiteklasse als Member ein Rect<br />
c) Du nutzt private Vererbung (Siehe Treb)</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446757</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 31 Jan 2008 06:46:11 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Thu, 31 Jan 2008 06:58:08 GMT]]></title><description><![CDATA[<p>ich würd auf komposition setzen, ist meiner meinung nach die sauberste und übersichtlichste lösung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446760</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Thu, 31 Jan 2008 06:58:08 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Fri, 01 Feb 2008 14:33:13 GMT]]></title><description><![CDATA[<p>Also &quot;ein Sprite HAT ein Rechteck&quot;?</p>
<p>Dann muss ich aber immer schreiben &quot;mySprite.rect.x&quot; statt &quot;mySprite.x&quot;.<br />
Ich sag ja nicht &quot;Das Rechteck vom Bild soll an die Position 123,33.&quot; sondern &quot;Das Bild soll nach 123,33&quot;.</p>
<p>Ich werde eine Klasse &quot;ResizableRect&quot; einfügen und bei dem bisherigen Rect die set-Methoden für Breite und Höhe wegmachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447635</guid><dc:creator><![CDATA[obbba]]></dc:creator><pubDate>Fri, 01 Feb 2008 14:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Fri, 01 Feb 2008 23:07:18 GMT]]></title><description><![CDATA[<p>obbba schrieb:</p>
<blockquote>
<p>Dann muss ich aber immer schreiben &quot;mySprite.rect.x&quot; statt &quot;mySprite.x&quot;. Ich sag ja nicht &quot;Das Rechteck vom Bild soll an die Position 123,33.&quot; sondern &quot;Das Bild soll nach 123,33&quot;.</p>
</blockquote>
<p>Der Direkte Variablenzugriff ist in den meisten Fällen in OOP ohnehin nicht erwünscht. Wenn du per Methoden arbeitest, und wir einfach mal annehmen das Rect eine SetX/GetX Methode hatte, würdest du dem Sprite ebenso eine verpassen und intern auf das Rect weiterleiten.</p>
<p>Unter berücksichtigung der in OO üblichen Datenkapselung wäre es dann ein mySprite.SetX(123) im vergleich zu einem rect.SetX(123)...</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447880</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 01 Feb 2008 23:07:18 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Sat, 02 Feb 2008 08:57:38 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich werde eine Klasse &quot;ResizableRect&quot; einfügen und bei dem bisherigen Rect die set-Methoden für Breite und Höhe wegmachen.</p>
</blockquote>
<p>rofl<br />
ja, mach das. tolles design (&lt;---- SARKASMUS)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447928</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 02 Feb 2008 08:57:38 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Sat, 02 Feb 2008 13:50:28 GMT]]></title><description><![CDATA[<p>teilweises erben widerspricht doch eigentlich dem sinn der objektorientieren programmierung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448031</guid><dc:creator><![CDATA[Fachmann]]></dc:creator><pubDate>Sat, 02 Feb 2008 13:50:28 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Sat, 02 Feb 2008 15:18:37 GMT]]></title><description><![CDATA[<p>Fachmann schrieb:</p>
<blockquote>
<p>teilweises erben widerspricht doch eigentlich dem sinn der objektorientieren programmierung?</p>
</blockquote>
<p>Nein, es widerspricht dem Sinn des Erbens...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448069</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 02 Feb 2008 15:18:37 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Tue, 12 Feb 2008 18:09:47 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>Ich werde eine Klasse &quot;ResizableRect&quot; einfügen und bei dem bisherigen Rect die set-Methoden für Breite und Höhe wegmachen.</p>
</blockquote>
<p>rofl<br />
ja, mach das. tolles design (&lt;---- SARKASMUS)</p>
</blockquote>
<p>Mömömö</p>
<p>Dann halt nicht. War ja nur ein Vorschlag.</p>
<p>pumuckl schrieb:</p>
<blockquote>
<p>Fachmann schrieb:</p>
<blockquote>
<p>teilweises erben widerspricht doch eigentlich dem sinn der objektorientieren programmierung?</p>
</blockquote>
<p>Nein, es widerspricht dem Sinn des Erbens...</p>
</blockquote>
<p>Also im Unterricht hatten wir den &quot;Stack&quot; von der &quot;verknüpften Liste&quot; abgeleitet. Kann aber sein, dass das nur der Einfachheit halber war.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454622</guid><dc:creator><![CDATA[obbba]]></dc:creator><pubDate>Tue, 12 Feb 2008 18:09:47 GMT</pubDate></item><item><title><![CDATA[Reply to Methoden der Basisklasse TEILWEISE übernehmen on Tue, 12 Feb 2008 18:45:21 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ein Pixel-Bild ist im Allgemeinen ein Rechteck (bei gängigen Formaten), im Speziellen hat es eine gefüllte Fläche. Wenn ich mich also nur auf diese zwei Klassen und deren Logik beschränken müsste, würde ich Rect als Eltern- und Sprite als Kindklasse entwerfen. Demnach muss ein Bild auch in der Lage sein, seine Größe zu ändern. Dafür gibt es ja auch einen eienen Konstruktor.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1454640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1454640</guid><dc:creator><![CDATA[Borschtsch]]></dc:creator><pubDate>Tue, 12 Feb 2008 18:45:21 GMT</pubDate></item></channel></rss>