<?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 und nicht überschriebene Methoden]]></title><description><![CDATA[<p>Hallo,</p>
<p>Folgendes Szenario:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class basis{
	int n;
public:
	basis():n(1){}
	int getn(){return n;}
};

class ableitung:public basis{
	int n;
public:
	ableitung():n(2){}
};

int main(){
	ableitung a;
	std::cout&lt;&lt;a.getn();
	std::cin.get();
	return 0;
}
</code></pre>
<p>Dieses Programm gibt 1 aus. Nun möchte ich aber, dass a.getn() mir das n aus der abgeleiteten Klasse zurückgibt, ohne dazu die Funktion überschreiben zu müssen (da es in meinem Fall mehrere sein können die in mehreren abgeleiteten Klassen die alle diese Attribute besitzen immer genau das gleiche machen)<br />
Copy Paste ist eine Lösung, aber ich frage mich ob es nicht eleganter geht (um z.B zu bewirken, dass, wenn die Methode anders arbeiten soll, ich das nur an einer Stelle ändern muss)</p>
<p>Vielen Dank im voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178412/vererbung-und-nicht-überschriebene-methoden</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 20:21:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178412.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Apr 2007 07:15:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vererbung und nicht überschriebene Methoden on Wed, 11 Apr 2007 07:15:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Folgendes Szenario:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class basis{
	int n;
public:
	basis():n(1){}
	int getn(){return n;}
};

class ableitung:public basis{
	int n;
public:
	ableitung():n(2){}
};

int main(){
	ableitung a;
	std::cout&lt;&lt;a.getn();
	std::cin.get();
	return 0;
}
</code></pre>
<p>Dieses Programm gibt 1 aus. Nun möchte ich aber, dass a.getn() mir das n aus der abgeleiteten Klasse zurückgibt, ohne dazu die Funktion überschreiben zu müssen (da es in meinem Fall mehrere sein können die in mehreren abgeleiteten Klassen die alle diese Attribute besitzen immer genau das gleiche machen)<br />
Copy Paste ist eine Lösung, aber ich frage mich ob es nicht eleganter geht (um z.B zu bewirken, dass, wenn die Methode anders arbeiten soll, ich das nur an einer Stelle ändern muss)</p>
<p>Vielen Dank im voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263514</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Wed, 11 Apr 2007 07:15:48 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung und nicht überschriebene Methoden on Wed, 11 Apr 2007 07:18:55 GMT]]></title><description><![CDATA[<p>Was für einen Sinn hat es denn, zwei Member mit dem selben Namen mitzuführen? Wenn du den Wert aus der Basisklasse nicht mehr benötigst, kannst du ihn auch wiederverwenden.</p>
<p>(btw: basis::getn() weiß nichts von möglichen abgeleiteten Klassen - das kennt nur das eigene 'n', das es nutzen könnte)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263516</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 11 Apr 2007 07:18:55 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung und nicht überschriebene Methoden on Wed, 11 Apr 2007 07:26:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Base
{
protected:
    int n;
    Base(int n) : n(n) {}
public:
    Base() : n(1) {}
    int getn () const { return n };
};

class Derived : public Base
{
public:
    Derived() : Base(2) {}
};

...

Base b;
b.getn(); // 1

Derived d;
d.getn(); // 2
</code></pre>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263523</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Wed, 11 Apr 2007 07:26:17 GMT</pubDate></item></channel></rss>