<?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[C++ Warum wird der Konstruktor nicht aufgerufen?]]></title><description><![CDATA[<pre><code>#include &lt;iostream&gt;

class C_IntClass{

public:

C_IntClass(): integer{0} {}

C_IntClass(int i = 0): integer{i} {}

C_IntClass(const C_IntClass&amp; copyClass): integer{copyClass.integer} {}

~C_IntClass() = default;

C_IntClass&amp; operator=(const C_IntClass&amp; s){

C_IntClass t(s);
integer = t.integer;

return *this;

}

int GetInteger(){return integer;}

private:

int integer;

};

// M A I N

int main(){

C_IntClass b(7);
C_IntClass c();
c = b;

std::cout&lt;&lt;c.GetInteger()&lt;&lt;std::endl;

std::cin.get();
return 0;

}
</code></pre>
<p>Fehlermeldungen:</p>
<p>G:\CPP\Übung.cpp||In function 'int main()':|<br />
G:\CPP\Übung.cpp|70|error: assignment of function 'C_IntClass c()'|<br />
G:\CPP\Übung.cpp|70|error: cannot convert 'C_IntClass' to 'C_IntClass()' in assignment|<br />
G:\CPP\Übung.cpp|72|error: request for member 'GetInteger' in 'c', which is of non-class type 'C_IntClass()'|<br />
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/339781/c-warum-wird-der-konstruktor-nicht-aufgerufen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 21:24:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339781.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Sep 2016 08:26:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Wed, 28 Sep 2016 08:26:00 GMT]]></title><description><![CDATA[<pre><code>#include &lt;iostream&gt;

class C_IntClass{

public:

C_IntClass(): integer{0} {}

C_IntClass(int i = 0): integer{i} {}

C_IntClass(const C_IntClass&amp; copyClass): integer{copyClass.integer} {}

~C_IntClass() = default;

C_IntClass&amp; operator=(const C_IntClass&amp; s){

C_IntClass t(s);
integer = t.integer;

return *this;

}

int GetInteger(){return integer;}

private:

int integer;

};

// M A I N

int main(){

C_IntClass b(7);
C_IntClass c();
c = b;

std::cout&lt;&lt;c.GetInteger()&lt;&lt;std::endl;

std::cin.get();
return 0;

}
</code></pre>
<p>Fehlermeldungen:</p>
<p>G:\CPP\Übung.cpp||In function 'int main()':|<br />
G:\CPP\Übung.cpp|70|error: assignment of function 'C_IntClass c()'|<br />
G:\CPP\Übung.cpp|70|error: cannot convert 'C_IntClass' to 'C_IntClass()' in assignment|<br />
G:\CPP\Übung.cpp|72|error: request for member 'GetInteger' in 'c', which is of non-class type 'C_IntClass()'|<br />
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509936</guid><dc:creator><![CDATA[M1SMR]]></dc:creator><pubDate>Wed, 28 Sep 2016 08:26:00 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Wed, 28 Sep 2016 08:55:25 GMT]]></title><description><![CDATA[<p><code>C_IntClass c();</code><br />
wird als lokale Funktionsdeklaration interpretiert. Daraus dann der Folgefehler.</p>
<p>Weiters: der Compiler wird sich bei</p>
<p><code>C_IntClass c;</code></p>
<p>nicht zwischen</p>
<p><code>C_IntClass(): integer{0} {}</code> und<br />
<code>C_IntClass(int i = 0): integer{i} {}</code></p>
<p>entscheiden können. Lass das default-value für <code>i</code> weg.<br />
Wozu den default c-tor überhaupt hinschreiben, wenn er nichts anderes tut, als der Compiler sowieso für dich machen würde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509941</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 28 Sep 2016 08:55:25 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Wed, 28 Sep 2016 09:02:16 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509944</guid><dc:creator><![CDATA[M1SMR]]></dc:creator><pubDate>Wed, 28 Sep 2016 09:02:16 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Wed, 28 Sep 2016 20:01:15 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Wozu den default c-tor überhaupt hinschreiben, wenn er nichts anderes tut, als der Compiler sowieso für dich machen würde?</p>
</blockquote>
<p>Sobald man eigene Konstruktoren definiert bekommt man keinen Default-Ctor mehr vom Compiler.<br />
Und der Default-Ctor vom Compiler würde in diesem Fall hier auch genau nichts machen. Wohingegen seiner <code>integer</code> mit <code>0</code> initialisiert.</p>
<p>Und da ich mir sicher bin, dass du das beides weisst, bin ich jetzt etwas verwirrt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510063</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 28 Sep 2016 20:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Wed, 28 Sep 2016 21:15:21 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Und da ich mir sicher bin, dass du das beides weisst, bin ich jetzt etwas verwirrt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Schon. Nur hab' ich scheinbar den Knick, bei jedem meiner Posts mindestens einmal kräftig ins Klo greifen zu müssen. Solche Sachen weiß ich zwar, lass mich aber im Fall des Falles vom Compiler dran erinnern anstatt bewusst eigenes Wissen auszugraben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510068</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 28 Sep 2016 21:15:21 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Thu, 29 Sep 2016 07:17:33 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Sobald man eigene Konstruktoren definiert bekommt man keinen Default-Ctor mehr vom Compiler.<br />
Und der Default-Ctor vom Compiler würde in diesem Fall hier auch genau nichts machen. Wohingegen seiner <code>integer</code> mit <code>0</code> initialisiert.</p>
</blockquote>
<p>Das stimmt. Aber ist dieser</p>
<pre><code>C_IntClass(int i = 0): integer{i} {}
</code></pre>
<p>in diesem Fall nicht genau so gut, wie ein Default-Ctor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510087</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 29 Sep 2016 07:17:33 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Thu, 29 Sep 2016 08:08:53 GMT]]></title><description><![CDATA[<p>Der compilergenerierte default c-tor initialisiert value types nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510091</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 29 Sep 2016 08:08:53 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Thu, 29 Sep 2016 08:34:54 GMT]]></title><description><![CDATA[<blockquote>
<pre><code class="language-cpp">C_IntClass&amp; operator=(const C_IntClass&amp; s){
 
C_IntClass t(s);
integer = t.integer;
 
return *this;
 
}
</code></pre>
</blockquote>
<p>Das sieht ja mal kacke aus.<br />
Warum nicht gleich <code>integer = s.integer;</code> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510095</guid><dc:creator><![CDATA[genutzter name]]></dc:creator><pubDate>Thu, 29 Sep 2016 08:34:54 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Thu, 29 Sep 2016 09:08:19 GMT]]></title><description><![CDATA[<p>Warum nicht gleich <code>using C_IntClass = int;</code> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510097</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 29 Sep 2016 09:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Thu, 29 Sep 2016 09:43:49 GMT]]></title><description><![CDATA[<p>genutzter name schrieb:</p>
<blockquote>
<blockquote>
<pre><code class="language-cpp">C_IntClass&amp; operator=(const C_IntClass&amp; s){
 
C_IntClass t(s);
integer = t.integer;
 
return *this;
 
}
</code></pre>
</blockquote>
<p>Das sieht ja mal kacke aus.<br />
Warum nicht gleich <code>integer = s.integer;</code> ?</p>
</blockquote>
<p>Da hat vermutlich jemand mal was vom &quot;Copy-Swap Idiom&quot; gehört, aber nicht so recht verstanden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510103</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 29 Sep 2016 09:43:49 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Thu, 29 Sep 2016 14:59:03 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>mal was vom &quot;Copy-Swap Idiom&quot; gehört, aber nicht so recht verstanden.</p>
</blockquote>
<p>wenns so ist ... es für eine Klasse, die einen <code>int</code> kapselt, hinzuschreiben is auch fad <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510115</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 29 Sep 2016 14:59:03 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Warum wird der Konstruktor nicht aufgerufen? on Thu, 29 Sep 2016 15:49:51 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Das stimmt. Aber ist dieser</p>
<pre><code>C_IntClass(int i = 0): integer{i} {}
</code></pre>
<p>in diesem Fall nicht genau so gut, wie ein Default-Ctor?</p>
</blockquote>
<p>Ne. Dieser ist besser.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510122</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 29 Sep 2016 15:49:51 GMT</pubDate></item></channel></rss>