<?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[Inline Konstruktor]]></title><description><![CDATA[<p>Hallo zusammen,<br />
angenommen, ich habe folgende einfache Klasse:</p>
<pre><code class="language-cpp">class CTest
{
 private:
  int zahl;
 public:
  int get_zahl() {return zahl;};
};

int main()
{
 CTest x;
}
</code></pre>
<p>Dann ist die Erzeugung eines Objekts wie oben möglich, da kein Konstruktor von mir angegeben wurde. Es wird also ein vom Compiler erzeugter Standardkonstruktor aufgerufen. Ich muss also nicht das schreiben:</p>
<pre><code class="language-cpp">CTest x();
</code></pre>
<p>Wenn ich nun einen Konstruktor definiert habe, dann kann ich nicht mehr so ein Objekt erzeugen, da kein Standardkonstruktor erzeugt wird. Folgender Code würde zu einem Fehler führen:</p>
<pre><code class="language-cpp">CTest x; //Falls Konstruktor angegeben
</code></pre>
<p>Nun definiere ich meinen Konstruktor inline. Dann führt die letzte Erzeugung des Objekts zu keinem Fehler mehr. Warum?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/270805/inline-konstruktor</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 23:03:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270805.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Jul 2010 16:31:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Inline Konstruktor on Sun, 18 Jul 2010 16:32:48 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
angenommen, ich habe folgende einfache Klasse:</p>
<pre><code class="language-cpp">class CTest
{
 private:
  int zahl;
 public:
  int get_zahl() {return zahl;};
};

int main()
{
 CTest x;
}
</code></pre>
<p>Dann ist die Erzeugung eines Objekts wie oben möglich, da kein Konstruktor von mir angegeben wurde. Es wird also ein vom Compiler erzeugter Standardkonstruktor aufgerufen. Ich muss also nicht das schreiben:</p>
<pre><code class="language-cpp">CTest x();
</code></pre>
<p>Wenn ich nun einen Konstruktor definiert habe, dann kann ich nicht mehr so ein Objekt erzeugen, da kein Standardkonstruktor erzeugt wird. Folgender Code würde zu einem Fehler führen:</p>
<pre><code class="language-cpp">CTest x; //Falls Konstruktor angegeben
</code></pre>
<p>Nun definiere ich meinen Konstruktor inline. Dann führt die letzte Erzeugung des Objekts zu keinem Fehler mehr. Warum?</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928184</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Sun, 18 Jul 2010 16:32:48 GMT</pubDate></item><item><title><![CDATA[Reply to Inline Konstruktor on Sun, 18 Jul 2010 16:38:24 GMT]]></title><description><![CDATA[<p>Was für einen Fehler bekommst du denn?<br />
Ich könnte mir vorstellen, dass du einen nicht aufgelösten Verweis bekommst, wenn du den Konstruktor nur deklarierst und nirgendwo implementierst.<br />
Aber um mehr sagen zu können, müsstest du den Fehler genauer beschreiben.</p>
<p>MfG, Jochen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928190</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Sun, 18 Jul 2010 16:38:24 GMT</pubDate></item><item><title><![CDATA[Reply to Inline Konstruktor on Sun, 18 Jul 2010 16:39:35 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Ich muss also nicht das schreiben:</p>
<pre><code class="language-cpp">CTest x();
</code></pre>
</blockquote>
<p>Das ist eine Funktionsdeklaration. Ich wüsste nicht, warum du das schreiben &quot;müssen&quot; solltest.</p>
<blockquote>
<p>Wenn ich nun einen Konstruktor definiert habe, dann kann ich nicht mehr so ein Objekt erzeugen, da kein Standardkonstruktor erzeugt wird.</p>
</blockquote>
<p>Korrektur: Wenn du einen Konstruktor mit mindestens einem Pflichtargument definierst.</p>
<blockquote>
<p>Nun definiere ich meinen Konstruktor inline. Dann führt die letzte Erzeugung des Objekts zu keinem Fehler mehr. Warum?</p>
</blockquote>
<p>inline ist für diese Frage völlig unerheblich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928192</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sun, 18 Jul 2010 16:39:35 GMT</pubDate></item><item><title><![CDATA[Reply to Inline Konstruktor on Sun, 18 Jul 2010 16:45:02 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// [...]
public:
 CTest()
 {
 }
// [...]
int main()
{
 CTest x;
}
</code></pre>
<p>Wo ist das Problem? <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/1928200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928200</guid><dc:creator><![CDATA[....]]></dc:creator><pubDate>Sun, 18 Jul 2010 16:45:02 GMT</pubDate></item><item><title><![CDATA[Reply to Inline Konstruktor on Sun, 18 Jul 2010 16:45:10 GMT]]></title><description><![CDATA[<p>Hallo,<br />
entschuldigt bitte, ich habe mich gerade auch nochmal umgeschaut und da etwas falsch verstanden. Es hat eher etwas mit Default - Werten zu tun. Sorry! Kann vorkommen - sollte aber nicht xD</p>
<p>lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1928201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1928201</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Sun, 18 Jul 2010 16:45:10 GMT</pubDate></item></channel></rss>