<?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[problem beim übergeben eines objekts ohne defaultkonstruktor]]></title><description><![CDATA[<p>hi!<br />
ich habe folgendes problem:</p>
<p>ich bau mir eine klasse &quot;klasse&quot;</p>
<pre><code>class klasse
{
private:
   const int mBlub

public:
    klasse(int blub) { mBlub = blub; }
};
</code></pre>
<p>nun möchte ich ein objekt vom typ &quot;klasse&quot; als parameter dem konstruktor einer anderen klasse übergeben</p>
<pre><code>class andere_klasse
{
private:
   klasse mKlasse;

public:
   andere_klasse(klasse _klasse) { mKlasse = _klasse; } &lt;- fehler
};
</code></pre>
<p>fehler:<br />
in klasse ist kein geeigneter defaultkonstruktor verfügbar.</p>
<p>ich habe auch nicht vor ein defaultkonstruktor zu implementieren und soweit ich informiert bin wird beim übergeben von objekten der kopierkonstruktor ausgeführt.<br />
warum ensteht hier so ein fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156539/problem-beim-übergeben-eines-objekts-ohne-defaultkonstruktor</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 21:24:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156539.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Aug 2006 14:58:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to problem beim übergeben eines objekts ohne defaultkonstruktor on Thu, 17 Aug 2006 14:58:58 GMT]]></title><description><![CDATA[<p>hi!<br />
ich habe folgendes problem:</p>
<p>ich bau mir eine klasse &quot;klasse&quot;</p>
<pre><code>class klasse
{
private:
   const int mBlub

public:
    klasse(int blub) { mBlub = blub; }
};
</code></pre>
<p>nun möchte ich ein objekt vom typ &quot;klasse&quot; als parameter dem konstruktor einer anderen klasse übergeben</p>
<pre><code>class andere_klasse
{
private:
   klasse mKlasse;

public:
   andere_klasse(klasse _klasse) { mKlasse = _klasse; } &lt;- fehler
};
</code></pre>
<p>fehler:<br />
in klasse ist kein geeigneter defaultkonstruktor verfügbar.</p>
<p>ich habe auch nicht vor ein defaultkonstruktor zu implementieren und soweit ich informiert bin wird beim übergeben von objekten der kopierkonstruktor ausgeführt.<br />
warum ensteht hier so ein fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119286</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Thu, 17 Aug 2006 14:58:58 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim übergeben eines objekts ohne defaultkonstruktor on Thu, 17 Aug 2006 15:09:16 GMT]]></title><description><![CDATA[<p>krabbels schrieb:</p>
<blockquote>
<p>hi!<br />
...warum ensteht hier so ein fehler?</p>
</blockquote>
<p>Hi,</p>
<p>weil Du versuchst,<br />
a) ein Objekt der Klasse &quot;klasse&quot; zu erzeugen, ohne einen Parameter zu übergeben und<br />
b) trotzdem keinen Konstruktor dafür bereitstellst.</p>
<p>Da kann einfach ein Compiler nichts anderes entscheiden.</p>
<p>Wenn Du &quot;andere Klasse&quot; erzeugst, wird automatisch mKlasse instantiiert <strong>bevor der Funktionsbody des andere_Klasse-Konstruktors aufgerufen wird !</strong>.<br />
Ausweg: Initialisierungsliste:</p>
<pre><code>class andere_klasse
{
private:
   klasse mKlasse; 

public:
   andere_klasse(klasse _klasse) : mKlasse(_klasse) {}
};
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119290</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 17 Aug 2006 15:09:16 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim übergeben eines objekts ohne defaultkonstruktor on Thu, 17 Aug 2006 15:05:00 GMT]]></title><description><![CDATA[<p>Das Objekt _klasse wird temporär erzeugt (Defaultconstructor), und danach mKlasse zugewiesen (operator=), wenn du ne Initialisierungsliste machst, wird der Copyconstructor benutzt.</p>
<pre><code class="language-cpp">andere_klasse(klasse _klasse): mKlasse(_klasse) {}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1119291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119291</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Thu, 17 Aug 2006 15:05:00 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim übergeben eines objekts ohne defaultkonstruktor on Thu, 17 Aug 2006 15:08:30 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class klasse 
{ 
private: 
   const int mBlub ;

public: 
    klasse(int blub) { mBlub = blub; } 
};
</code></pre>
<p>initialisierung von mBlub muss in die initialisierungsliste</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119292</guid><dc:creator><![CDATA[Cpt. Tanga]]></dc:creator><pubDate>Thu, 17 Aug 2006 15:08:30 GMT</pubDate></item><item><title><![CDATA[Reply to problem beim übergeben eines objekts ohne defaultkonstruktor on Thu, 17 Aug 2006 17:30:42 GMT]]></title><description><![CDATA[<p>danke für die antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119354</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Thu, 17 Aug 2006 17:30:42 GMT</pubDate></item></channel></rss>