<?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[objekt als membervariable]]></title><description><![CDATA[<p>hallo,<br />
vielleicht kann mir ja wer bei meinem Problem helfen:<br />
ich habe ein Objekt als Membervariable in einer Klasse definiert.<br />
Bei dieser Definition beschwert er sich, dass er die Klasse des Objekts nicht kennt:</p>
<p>class InputParser;</p>
<p>class InputClient<br />
{<br />
private:<br />
InputParser myInputParser_;<br />
public:<br />
InputClient();<br />
virtual ~InputClient(){};<br />
};</p>
<p>so sieht mein h file aus.....der compiler beschwert sich, dass er die klasse InputParser nicht kennt.</p>
<p>Danke für jede hilfe.</p>
<p>mfg kathi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152203/objekt-als-membervariable</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 21:48:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152203.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Jul 2006 09:05:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:05:59 GMT]]></title><description><![CDATA[<p>hallo,<br />
vielleicht kann mir ja wer bei meinem Problem helfen:<br />
ich habe ein Objekt als Membervariable in einer Klasse definiert.<br />
Bei dieser Definition beschwert er sich, dass er die Klasse des Objekts nicht kennt:</p>
<p>class InputParser;</p>
<p>class InputClient<br />
{<br />
private:<br />
InputParser myInputParser_;<br />
public:<br />
InputClient();<br />
virtual ~InputClient(){};<br />
};</p>
<p>so sieht mein h file aus.....der compiler beschwert sich, dass er die klasse InputParser nicht kennt.</p>
<p>Danke für jede hilfe.</p>
<p>mfg kathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091054</guid><dc:creator><![CDATA[Kathi]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:05:59 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:09:15 GMT]]></title><description><![CDATA[<p>Wenn Du die Client Klasse nicht im Parser brauchst:</p>
<pre><code class="language-cpp">#include &quot;InputParser.h&quot;
</code></pre>
<p>in diesem .h File</p>
<p>Die Vorabdeklaration kannste dann weglassen:</p>
<pre><code class="language-cpp">#include &quot;InputParser.h&quot;

class InputClient
{
private:
    InputParser myInputParser_;
public:
    InputClient();
    virtual ~InputClient(){};
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1091056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091056</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:09:15 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:09:23 GMT]]></title><description><![CDATA[<p>Die Forward Deklaration (&quot;class InputParser;&quot;) reicht aus, um Pointer, Referenzen und Funktionsparameter deklaraieren zu können - um ein komplettes Memberobjekt anlegen zu können, benötigt der Compiler aber dessen Größe (und dafür die komplette Definition des Datentyps).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091058</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:09:23 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:09:46 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>danke für die antwort aber diese ist bereits inkludiert.</p>
<p>#include &quot;InputParser.h&quot;<br />
#include &quot;Stackrechner.h&quot;<br />
#include &lt;list&gt;<br />
using std::list;</p>
<p>mfg kathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091060</guid><dc:creator><![CDATA[Kathi]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:09:46 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:11:21 GMT]]></title><description><![CDATA[<p>Kathi schrieb:</p>
<blockquote>
<p>hallo,</p>
<p>danke für die antwort aber diese ist bereits inkludiert.</p>
</blockquote>
<p>Wo? Hoffentlich <strong>VOR</strong> der Definition für &quot;InputClient&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091063</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:11:21 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:12:45 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Die Forward Deklaration (&quot;class InputParser;&quot;) reicht aus, um Pointer, Referenzen und Funktionsparameter deklaraieren zu können - um ein komplettes Memberobjekt anlegen zu können, benötigt der Compiler aber dessen Größe (und dafür die komplette Definition des Datentyps).</p>
</blockquote>
<p>heißt das jetzt, dass ich diese beide klassen zusammen in ein file schreiben soll, damit das funktioniert?</p>
<p>mfg kathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091064</guid><dc:creator><![CDATA[Kathi]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:12:45 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:17:28 GMT]]></title><description><![CDATA[<p>#pragma once<br />
#include &quot;InputParser.h&quot;<br />
#include &quot;Stackrechner.h&quot;<br />
#include &lt;list&gt;<br />
using std::list;</p>
<p>class InputParser;</p>
<p>class InputClient<br />
{<br />
//friend class InputParser;<br />
private:<br />
InputParser myInputParser_;<br />
public:<br />
InputClient();<br />
virtual ~InputClient(){};<br />
void handleInput(InputParser myInputParser);<br />
// InputClient(InputParser *myInputParser) : myInputParser_(myInputParser){};</p>
<p>};</p>
<p>so schaut mein anfang aus. wenn ich die vorabdeklaration weglasse, kommen noch mehr fehlermeldungen.</p>
<p>mfg kathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091068</guid><dc:creator><![CDATA[Kathi]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:23:55 GMT]]></title><description><![CDATA[<p>Zeig mal noch die InputParser.h.<br />
Hast Du da InputClient dort auch includiert? Dann gehts nämlich im Kreis rum..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091074</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:23:55 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:26:39 GMT]]></title><description><![CDATA[<p>1310-Logik schrieb:</p>
<blockquote>
<p>Zeig mal noch die InputParser.h.<br />
Hast Du da InputClient dort auch includiert? Dann gehts nämlich im Kreis rum..</p>
</blockquote>
<p>#pragma once<br />
#include &quot;Stackrechner.h&quot;<br />
#include &quot;InputClient.h&quot;<br />
#include &lt;string&gt;<br />
using std::string;</p>
<p>//class InputClient;</p>
<p>class InputParser<br />
{<br />
//friend class InputClient;</p>
<p>private:<br />
bool isOperator_;<br />
bool isValue_;<br />
int operator_;<br />
double value_;<br />
bool ifSigned_;<br />
char sign_;</p>
<p>public:<br />
InputParser();<br />
virtual ~InputParser(){};<br />
void getInput(string input);<br />
bool getIsOperator();<br />
void setIsOperator(bool yes);<br />
bool getIsValue();<br />
void setIsValue(bool yes);<br />
int getOperator();<br />
void setOperator(int op);<br />
double getValue();<br />
void setValue(double val);<br />
bool getIfSigned();<br />
void setIfSigned(bool ifSigned);<br />
int getSign();// 1 = +; 2 = -;<br />
void setSign(int sign);<br />
void isOperator();<br />
void checkSign(string input);<br />
void checkOperator(string input);<br />
bool checkValue(string input);<br />
void handleInput();<br />
//InputParser(const InputParser &amp;copyObj);<br />
//InputParser&amp; operator=(const InputParser&amp; op);<br />
};</p>
<p>so sieht der inputparser.h aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091075</guid><dc:creator><![CDATA[Kathi]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:26:39 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:27:54 GMT]]></title><description><![CDATA[<p>using std::list ist übrigens keine gute Idee in nem Header.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091078</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:27:54 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:33:27 GMT]]></title><description><![CDATA[<p>Cpp Code Tags machens nett bunt <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>
<pre><code class="language-cpp">#pragma once
#include &quot;Stackrechner.h&quot;
#include &quot;InputClient.h&quot;   //&lt;---Brauchst Du das hier? Ich glaube nicht..
#include &lt;string&gt;
using std::string;

//class InputClient;

class InputParser
{
	//friend class InputClient;

private:
	bool isOperator_;
	bool isValue_;
	int operator_;
	double value_;
	bool ifSigned_;
	char sign_;

public:
	InputParser();
	virtual ~InputParser(){};
	void getInput(string input);
	bool getIsOperator();
	void setIsOperator(bool yes);
	bool getIsValue();
	void setIsValue(bool yes);
	int getOperator();
	void setOperator(int op);
	double getValue();
	void setValue(double val);
	bool getIfSigned();
	void setIfSigned(bool ifSigned); 
	int getSign();// 1 = +; 2 = -;
	void setSign(int sign);
	void isOperator();
	void checkSign(string input);
	void checkOperator(string input);
	bool checkValue(string input);
	void handleInput();
	//InputParser(const InputParser &amp;copyObj);
	//InputParser&amp; operator=(const InputParser&amp; op);
};
</code></pre>
<p>Edit: Wenn Du in jedem Header den jeweils anderen Includierst, gibt das ein Chaos, trotz #pragma once. Wenn Du, wie oben, InputClient.h in diesem Header nicht brauchst, includier ihn erst im .cpp File, wenn Du ihn da brauchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091079</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:33:27 GMT</pubDate></item><item><title><![CDATA[Reply to objekt als membervariable on Tue, 04 Jul 2006 09:44:15 GMT]]></title><description><![CDATA[<p>recht herzlichen dank für eure hilfe.<br />
genau des war der fehler @1310-Logik <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>
<p>mfg kathi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1091085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1091085</guid><dc:creator><![CDATA[Kathi]]></dc:creator><pubDate>Tue, 04 Jul 2006 09:44:15 GMT</pubDate></item></channel></rss>