<?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[Basisklasse in Abgeleitete Klasse kopieren?]]></title><description><![CDATA[<p>Hallo,<br />
irgendwie sitze ich gerade aufm Schlauch <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="😢"
    /> ich habe folgendes.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class base{
public:
	base(){
		var1 = 1;
	}
protected:
	int getVar1(){
		return var1;
	}
private:
	int var1;
};

class derived : public base{
public :

	derived(){
		var1 = 3;
	}

};

int main()
{
	derived d;
	base b;
	d = b;
	cout &lt;&lt; d.getVar1 &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Ich möchte praktisch eine Copy erstellen, die allerdings die privaten Daten mitkopiert, da ich diese privaten Daten für Funktionen in der Abgeleiteten Klasse benötige.<br />
Und um es noch weiter runter zu brechen. Ich möchte eine existierendes Objekt um Funktionen erweitern.</p>
<p>Also ich will bei einem fahrendem Auto den Motor tunen <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>Gruß<br />
wdsl</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/278288/basisklasse-in-abgeleitete-klasse-kopieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 09:22:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278288.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Dec 2010 12:43:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Basisklasse in Abgeleitete Klasse kopieren? on Fri, 03 Dec 2010 12:43:48 GMT]]></title><description><![CDATA[<p>Hallo,<br />
irgendwie sitze ich gerade aufm Schlauch <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="😢"
    /> ich habe folgendes.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class base{
public:
	base(){
		var1 = 1;
	}
protected:
	int getVar1(){
		return var1;
	}
private:
	int var1;
};

class derived : public base{
public :

	derived(){
		var1 = 3;
	}

};

int main()
{
	derived d;
	base b;
	d = b;
	cout &lt;&lt; d.getVar1 &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Ich möchte praktisch eine Copy erstellen, die allerdings die privaten Daten mitkopiert, da ich diese privaten Daten für Funktionen in der Abgeleiteten Klasse benötige.<br />
Und um es noch weiter runter zu brechen. Ich möchte eine existierendes Objekt um Funktionen erweitern.</p>
<p>Also ich will bei einem fahrendem Auto den Motor tunen <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>Gruß<br />
wdsl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989506</guid><dc:creator><![CDATA[wdsl]]></dc:creator><pubDate>Fri, 03 Dec 2010 12:43:48 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasse in Abgeleitete Klasse kopieren? on Fri, 03 Dec 2010 12:49:11 GMT]]></title><description><![CDATA[<p>Und deine Frage ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989509</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 03 Dec 2010 12:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasse in Abgeleitete Klasse kopieren? on Fri, 03 Dec 2010 12:59:14 GMT]]></title><description><![CDATA[<p>Wie man ein existierendes Objekt erweitern kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989511</guid><dc:creator><![CDATA[wdsl]]></dc:creator><pubDate>Fri, 03 Dec 2010 12:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasse in Abgeleitete Klasse kopieren? on Fri, 03 Dec 2010 13:03:39 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class base{
public:
    base(int foo = 1) : var1(foo) {
    }
protected:
    int getVar1(){
        return var1;
    }
private:
    int var1;
};

class derived : public base{
public :

    derived() : base(3) {
    }

};
</code></pre>
<p>Alternativ, <code>var1</code> auch <code>protected</code> machen. Dafür sind die Schlüsselwörter da.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989515</guid><dc:creator><![CDATA[Nick Unbekannt]]></dc:creator><pubDate>Fri, 03 Dec 2010 13:03:39 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasse in Abgeleitete Klasse kopieren? on Fri, 03 Dec 2010 13:10:40 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt; 

using namespace std; 

class base
{ 
public: 
	base(const int&amp; var): var(var){ } 
	virtual ~base(){}

    virtual const int&amp; getVar() const {return var;} 

private: 
    int var; 
}; 

class derived : public base
{ 
public : 
	derived(const int&amp; var): base(var){} 

	const int&amp; getVar() const {return base::getVar();}
}; 

int main() 
{ 
    derived d(3); 

	cout &lt;&lt; d.getVar() &lt;&lt; endl; 

	base b(1);
    d = b.getVar(); 

    cout &lt;&lt; d.getVar() &lt;&lt; endl; 

	cin.get();
    return 0; 
}
</code></pre>
<p>Alternativ Operatorüberladung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989520</guid><dc:creator><![CDATA[AnderesBeispiel]]></dc:creator><pubDate>Fri, 03 Dec 2010 13:10:40 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasse in Abgeleitete Klasse kopieren? on Fri, 03 Dec 2010 13:33:08 GMT]]></title><description><![CDATA[<p>AnderesBeispiel schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class base
{ 
public: 
	base(const int&amp; var): var(var){ } 
	virtual ~base(){}

    virtual const int&amp; getVar() const {return var;} 

private: 
    int var; 
}; 

class derived : public base
{ 
public : 
	derived(const int&amp; var): base(var){} 

	const int&amp; getVar() const {return base::getVar();}
};
</code></pre>
</blockquote>
<p>Zwei Dinge:</p>
<ul>
<li><code>int</code> würde ich als Kopie und nicht als Referenz auf <code>const</code> über- und zurückgeben. Referenzübergabe als Optimierung lohnt sich erst bei grösseren Objekten, bei kleinen ist sie sogar kontraproduktiv (weil Referenzen auch kopiert werden müssen und zusätzlich Dereferenzierungskosten anfallen).</li>
<li>Die Funktion <code>getVar()</code> muss weder virtuell sein noch in der abgeleiteten Klasse überschrieben werden, wenn ihr Verhalten für beide Klassen identisch ist.</li>
</ul>
<p>Meinst du mit Operatorüberladung die Stream-Operatoren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989531</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 03 Dec 2010 13:33:08 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasse in Abgeleitete Klasse kopieren? on Fri, 03 Dec 2010 13:36:39 GMT]]></title><description><![CDATA[<p>AnderesBeispiel schrieb:</p>
<blockquote>
<pre><code class="language-cpp">#include &lt;iostream&gt; 

using namespace std; 

class base
{ 
public: 
	base(const int&amp; var): var(var){ } 
	virtual ~base(){}

    virtual const int&amp; getVar() const {return var;} 

private: 
    int var; 
}; 

class derived : public base
{ 
public : 
	derived(const int&amp; var): base(var){} 

	const int&amp; getVar() const {return base::getVar();}
}; 

int main() 
{ 
    derived d(3); 
    
	cout &lt;&lt; d.getVar() &lt;&lt; endl; 

	base b(1);
    d = b.getVar(); 

    cout &lt;&lt; d.getVar() &lt;&lt; endl; 

	cin.get();
    return 0; 
}
</code></pre>
<p>Alternativ Operatorüberladung.</p>
</blockquote>
<p>Was für ein mieser Code. Auf keinen Fall sowas nachprogrammieren!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989533</guid><dc:creator><![CDATA[omfg!]]></dc:creator><pubDate>Fri, 03 Dec 2010 13:36:39 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasse in Abgeleitete Klasse kopieren? on Fri, 03 Dec 2010 15:39:29 GMT]]></title><description><![CDATA[<p>wdsl schrieb:</p>
<blockquote>
<p>...<br />
Wie man ein existierendes Objekt erweitern kann.</p>
</blockquote>
<p>Was meinst Du damit? Mir ist das Problem nicht klar. Was soll das überhaupt mit der Zuweisung von einem derived-Objekt zu einem base-Objekt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989580</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 03 Dec 2010 15:39:29 GMT</pubDate></item></channel></rss>