<?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[Konstruktor wird nicht aufgerufen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich benutze Eclipse mit MinGW unter Windows.</p>
<p>Hier mein Code: (nur die wichtigsten Teile)</p>
<pre><code>Text::Text()
{
  color[0] = color[1] = color[2] = 1.0f;
}

void Text::drawText(string text)
{
  //draw text with color
  cout&lt;&lt;color[0]&lt;&lt;color[1]&lt;&lt;color[2]&lt;&lt;endl;
}

void MyClass
{
private:
  Text text;
public:
  void render()
  {
    ...
    text.drawText(&quot;test&quot;);
  }
}
</code></pre>
<p>So, mein Problem ist nun, dass offensichtlich dre Konstruktor nicht aufgerufen wird. Ich setze nirgendwoanders die Farbe und wenn ich diesen Code ausführe sind die Werte con color nicht 1.0f.<br />
Wenn ich nun statt:</p>
<pre><code>Text text;
</code></pre>
<p>einen Zeiger daraus mache und ihn mit new erzeuge:</p>
<pre><code>Text* text;

MyClass::MyClass()
{
  text = new Text();
}
</code></pre>
<p>Dann funktioniert es und der in color stehen die Werte 1.0f, wie es sein sollte.</p>
<p>Also ich verstehe nicht warum dre Konstruktor nicht aufgerufen wird wenn ich es als feste Membervariable in die Klasse schreibe. Hat jemand eine Erklärung dafür? <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>
<p>Achja, ich instanziere MyClass als globale Variable. Könnte das vielleicht damit zusammen hängen?</p>
<p>MfG Nico</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/255949/konstruktor-wird-nicht-aufgerufen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 19:58:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/255949.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Dec 2009 00:18:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konstruktor wird nicht aufgerufen on Sun, 06 Dec 2009 00:26:53 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich benutze Eclipse mit MinGW unter Windows.</p>
<p>Hier mein Code: (nur die wichtigsten Teile)</p>
<pre><code>Text::Text()
{
  color[0] = color[1] = color[2] = 1.0f;
}

void Text::drawText(string text)
{
  //draw text with color
  cout&lt;&lt;color[0]&lt;&lt;color[1]&lt;&lt;color[2]&lt;&lt;endl;
}

void MyClass
{
private:
  Text text;
public:
  void render()
  {
    ...
    text.drawText(&quot;test&quot;);
  }
}
</code></pre>
<p>So, mein Problem ist nun, dass offensichtlich dre Konstruktor nicht aufgerufen wird. Ich setze nirgendwoanders die Farbe und wenn ich diesen Code ausführe sind die Werte con color nicht 1.0f.<br />
Wenn ich nun statt:</p>
<pre><code>Text text;
</code></pre>
<p>einen Zeiger daraus mache und ihn mit new erzeuge:</p>
<pre><code>Text* text;

MyClass::MyClass()
{
  text = new Text();
}
</code></pre>
<p>Dann funktioniert es und der in color stehen die Werte 1.0f, wie es sein sollte.</p>
<p>Also ich verstehe nicht warum dre Konstruktor nicht aufgerufen wird wenn ich es als feste Membervariable in die Klasse schreibe. Hat jemand eine Erklärung dafür? <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>
<p>Achja, ich instanziere MyClass als globale Variable. Könnte das vielleicht damit zusammen hängen?</p>
<p>MfG Nico</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1818453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1818453</guid><dc:creator><![CDATA[_nico0815]]></dc:creator><pubDate>Sun, 06 Dec 2009 00:26:53 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor wird nicht aufgerufen on Sun, 06 Dec 2009 02:31:30 GMT]]></title><description><![CDATA[<p>dein quellcode sollte das machen, was du möchtest....</p>
<pre><code class="language-cpp">void Text::drawText(string text) 
{ 
  //draw text with color 
  cout&lt;&lt;color[0]&lt;&lt;color[1]&lt;&lt;color[2]&lt;&lt;endl; 
}
</code></pre>
<p>was soll text hier eigtl tun?</p>
<p>&quot;Achja, ich instanziere MyClass als globale Variable. Könnte das vielleicht damit zusammen hängen?&quot;<br />
eigtl nicht - erstellt werden muss es trotzdem - und so weit nicht anders implementiert ruft der standard-ctor den standard-ctor jedes members (und jeder basisklasse) auf...<br />
compilierbares minimalbsp?</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1818470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1818470</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 06 Dec 2009 02:31:30 GMT</pubDate></item><item><title><![CDATA[Reply to Konstruktor wird nicht aufgerufen on Sun, 06 Dec 2009 11:13:17 GMT]]></title><description><![CDATA[<p>Ok, nachdem ich ein clean gemacht habe hat es funktioniert. Irgendwie hat er ohne ein clean nicht meine Anweisungen übernommen die ich in den Konstruktor geschrieben habe, obwohl er die Object-Datei eigentlich neu gebaut hat. Muss wohl an Compilereinstellungen liegen oder direkt an MinGW <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1818540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1818540</guid><dc:creator><![CDATA[_nico0815]]></dc:creator><pubDate>Sun, 06 Dec 2009 11:13:17 GMT</pubDate></item></channel></rss>