<?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[NEWBIE: Wert zurückgeben, der im Konstruktor initialisiert wird]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse in der via einer Methode (GetItsVal()) ein Wert zurückgegeben werden soll, welcher automatisch im Initialisierungsbereich des Konstruktors erstellt wird und private ist, doch irgendwie klappt das nicht so ganz.</p>
<p>Würde ich hingegen eine Methode schreiben, die einen Parameter übernimmt, zuweist und diesen dann zurückgibt, dann funktioniert es.</p>
<p>Was mache ich falsch?</p>
<p>Vielen Dank für eure Hilfe!</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

class Counter
{
public:
	Counter();
	~Counter(){}
	int GetItsVal() const { return itsVal; }

	operator int();
private:
	int itsVal;

};
Counter::Counter():
itsVal(24)
{}

Counter::operator int()
{
	return (int (itsVal));
}

int main()
{
Counter ctr();
cout &lt;&lt; &quot;Counter Object Val: &quot; &lt;&lt; ctr.GetItsVal() &lt;&lt; endl;
return 0;
}
</code></pre>
<p>ERROR:<br />
29: error: request for member `GetItsVal' in `ctr', which is of non-class type `Counter ()()'</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/117514/newbie-wert-zurückgeben-der-im-konstruktor-initialisiert-wird</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 00:51:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/117514.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Aug 2005 13:43:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to NEWBIE: Wert zurückgeben, der im Konstruktor initialisiert wird on Mon, 08 Aug 2005 13:43:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse in der via einer Methode (GetItsVal()) ein Wert zurückgegeben werden soll, welcher automatisch im Initialisierungsbereich des Konstruktors erstellt wird und private ist, doch irgendwie klappt das nicht so ganz.</p>
<p>Würde ich hingegen eine Methode schreiben, die einen Parameter übernimmt, zuweist und diesen dann zurückgibt, dann funktioniert es.</p>
<p>Was mache ich falsch?</p>
<p>Vielen Dank für eure Hilfe!</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

class Counter
{
public:
	Counter();
	~Counter(){}
	int GetItsVal() const { return itsVal; }

	operator int();
private:
	int itsVal;

};
Counter::Counter():
itsVal(24)
{}

Counter::operator int()
{
	return (int (itsVal));
}

int main()
{
Counter ctr();
cout &lt;&lt; &quot;Counter Object Val: &quot; &lt;&lt; ctr.GetItsVal() &lt;&lt; endl;
return 0;
}
</code></pre>
<p>ERROR:<br />
29: error: request for member `GetItsVal' in `ctr', which is of non-class type `Counter ()()'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/848008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848008</guid><dc:creator><![CDATA[sirvenue]]></dc:creator><pubDate>Mon, 08 Aug 2005 13:43:24 GMT</pubDate></item><item><title><![CDATA[Reply to NEWBIE: Wert zurückgeben, der im Konstruktor initialisiert wird on Mon, 08 Aug 2005 13:52:29 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int main()
{
Counter ctr;//ohne ()
cout &lt;&lt; &quot;Counter Object Val: &quot; &lt;&lt; ctr.GetItsVal() &lt;&lt; endl;
return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/848019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848019</guid><dc:creator><![CDATA[shapeless]]></dc:creator><pubDate>Mon, 08 Aug 2005 13:52:29 GMT</pubDate></item><item><title><![CDATA[Reply to NEWBIE: Wert zurückgeben, der im Konstruktor initialisiert wird on Mon, 08 Aug 2005 13:53:12 GMT]]></title><description><![CDATA[<p>sirvenue schrieb:</p>
<blockquote>
<pre><code>Counter ctr();
</code></pre>
</blockquote>
<p>Hier erstellt du kein Objekt vom Typ Counter. Dies ist eine Funktionsdeklaration mit Rückgabetyp Counter, Name ctr und keinem Parameter.</p>
<pre><code class="language-cpp">Counter ctr;
</code></pre>
<p>Das sollte dein Problem beheben.</p>
<p>Btw:<br />
Ändere Operator int etwas ab</p>
<pre><code class="language-cpp">Counter::operator int() const
{
	return itsVal;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/848020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848020</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Mon, 08 Aug 2005 13:53:12 GMT</pubDate></item><item><title><![CDATA[Reply to NEWBIE: Wert zurückgeben, der im Konstruktor initialisiert wird on Mon, 08 Aug 2005 14:41:51 GMT]]></title><description><![CDATA[<p>Counter::Counter():<br />
itsVal(24)<br />
ich verstehe die Zeile nicht, hab so was noch nie gesehen<br />
kannst mir mal erklären was du da treibst?<br />
Es gibt zwar so was ähnliches wenn man eine klasse von einer anderen<br />
ableitet und dann den konstruktor von der klasse aufruft aber in<br />
der form wie bei dir hab ich das noch nie gesehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/848077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848077</guid><dc:creator><![CDATA[rene1]]></dc:creator><pubDate>Mon, 08 Aug 2005 14:41:51 GMT</pubDate></item><item><title><![CDATA[Reply to NEWBIE: Wert zurückgeben, der im Konstruktor initialisiert wird on Mon, 08 Aug 2005 14:49:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Counter::Counter():itsVal(24)
</code></pre>
<p>Das nennt man Initialisierungsliste und man weist damit den Attributen des Objektes<br />
werte zu. in diesem Fall wird mit der Konstruktion des Objektes sein itsVal mit 24 initalisiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/848088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848088</guid><dc:creator><![CDATA[shapeless]]></dc:creator><pubDate>Mon, 08 Aug 2005 14:49:35 GMT</pubDate></item><item><title><![CDATA[Reply to NEWBIE: Wert zurückgeben, der im Konstruktor initialisiert wird on Mon, 08 Aug 2005 14:49:51 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>das ist die initialisierungsliste. In der werden wie der name schon gesagt member initialisiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/848090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848090</guid><dc:creator><![CDATA[prolog]]></dc:creator><pubDate>Mon, 08 Aug 2005 14:49:51 GMT</pubDate></item><item><title><![CDATA[Reply to NEWBIE: Wert zurückgeben, der im Konstruktor initialisiert wird on Mon, 08 Aug 2005 14:58:23 GMT]]></title><description><![CDATA[<p>Hallo rene1,</p>
<pre><code class="language-cpp">Counter::Counter() :
 itsVal(24)
{}
</code></pre>
<p>Dies initialisert die Member-Variable &quot;itsVal&quot; mit dem entsprechenden Wert.<br />
Man kann auch</p>
<pre><code class="language-cpp">Counter::Counter()
{
  itsVal = 24;
}
</code></pre>
<p>schreiben, so wie du es wahrscheinlich kennst.</p>
<p>Für konstante Member bzw. Referenzen muß man aber immer die obere Form wählen (wie bei Aufruf eines Basis-Konstruktors).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/848101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/848101</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Mon, 08 Aug 2005 14:58:23 GMT</pubDate></item></channel></rss>