<?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[Fehlersuche]]></title><description><![CDATA[<p>Hallo alles zusammen,</p>
<p>ich habe hier eine &quot;einfache&quot; aufgabe in der ich nun fehler suchen soll. ich weis das hier keine hausaufgaben von anderen gemacht werden also ich habe mich schon selbst damit befasst:</p>
<p>#include &lt;iostream&gt;</p>
<p>class A<br />
{<br />
private:</p>
<p>int x;<br />
};</p>
<p>int main()<br />
{<br />
A a;<br />
std::cout &lt;&lt; a.x &lt;&lt; std::endl;<br />
}</p>
<p>folgende fehler sind meiner meinung nach in diesm code:</p>
<p>- die klasse kommt nicht in die .cpp datei sondern wird in einer header .h datei deklariert.</p>
<p>- der public teil fehlt</p>
<p>-in der main fkt muss A::a stehen statt A a<br />
-und in der konsole soll etwas aus der privaten klasse ausgegeben werden was aber nur die öffentliche klasse die &quot;rechte&quot; dazu hat.</p>
<p>freue mich, auch auf kleinestem c++ niveau gleichgesinnte zu finden und bin über jeden ratschlag happy <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>
<p>mfg, 1nfinity</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/270764/fehlersuche</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 23:03:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270764.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Jul 2010 19:28:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehlersuche on Sat, 17 Jul 2010 19:28:42 GMT]]></title><description><![CDATA[<p>Hallo alles zusammen,</p>
<p>ich habe hier eine &quot;einfache&quot; aufgabe in der ich nun fehler suchen soll. ich weis das hier keine hausaufgaben von anderen gemacht werden also ich habe mich schon selbst damit befasst:</p>
<p>#include &lt;iostream&gt;</p>
<p>class A<br />
{<br />
private:</p>
<p>int x;<br />
};</p>
<p>int main()<br />
{<br />
A a;<br />
std::cout &lt;&lt; a.x &lt;&lt; std::endl;<br />
}</p>
<p>folgende fehler sind meiner meinung nach in diesm code:</p>
<p>- die klasse kommt nicht in die .cpp datei sondern wird in einer header .h datei deklariert.</p>
<p>- der public teil fehlt</p>
<p>-in der main fkt muss A::a stehen statt A a<br />
-und in der konsole soll etwas aus der privaten klasse ausgegeben werden was aber nur die öffentliche klasse die &quot;rechte&quot; dazu hat.</p>
<p>freue mich, auch auf kleinestem c++ niveau gleichgesinnte zu finden und bin über jeden ratschlag happy <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>
<p>mfg, 1nfinity</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927819</guid><dc:creator><![CDATA[1nfinity]]></dc:creator><pubDate>Sat, 17 Jul 2010 19:28:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Sat, 17 Jul 2010 19:56:03 GMT]]></title><description><![CDATA[<p>Infinity schrieb:</p>
<blockquote>
<p>und in der konsole soll etwas aus der privaten klasse ausgegeben werden was aber nur die öffentliche klasse die &quot;rechte&quot; dazu hat.</p>
</blockquote>
<p>Richtig, was auch immer mit öffentlicher Klasse gemeint ist.</p>
<p>die Variable x ist nach außen hin nicht sichtbar. Das sagt schon das private aus.<br />
Drum kannst du in der main-Funktion nicht mit a.x direkt darauf zugreifen.</p>
<p>Diese Zeile ist somit falsch:<br />
std::cout &lt;&lt; a.x &lt;&lt; std::endl;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927822</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Sat, 17 Jul 2010 19:56:03 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Sat, 17 Jul 2010 19:44:07 GMT]]></title><description><![CDATA[<p>1nfinity schrieb:</p>
<blockquote>
<p>folgende fehler sind meiner meinung nach in diesm code:</p>
<p>- die klasse kommt nicht in die .cpp datei sondern wird in einer header .h datei deklariert.</p>
</blockquote>
<p>Kein Fehler, nur Konvention.</p>
<p>1nfinity schrieb:</p>
<blockquote>
<p>- der public teil fehlt</p>
</blockquote>
<p>Kein Fehler, soweit.</p>
<p>1nfinity schrieb:</p>
<blockquote>
<p>-in der main fkt muss A::a stehen statt A a</p>
</blockquote>
<p>Warum? Was tun beide Varianten?</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927827</guid><dc:creator><![CDATA[icwiener]]></dc:creator><pubDate>Sat, 17 Jul 2010 19:44:07 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Sat, 17 Jul 2010 19:47:19 GMT]]></title><description><![CDATA[<p>Du könntest eine get Methode schreiben, die public ist. Diese macht nichts anderes, als das private Attribut zurückzugeben. Außerdem gilt in C++ Groß- und Kleinschreibung. Deswegen muss &quot;A&quot; geschrieben werden und nicht &quot;a&quot;.</p>
<p>lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927828</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Sat, 17 Jul 2010 19:47:19 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Sat, 17 Jul 2010 19:54:19 GMT]]></title><description><![CDATA[<blockquote>
<p>Richtig, was auch immer mit öffentlicher Klasse gemeint ist.</p>
</blockquote>
<p>ich meinte public: <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>
<blockquote>
<p>Kein Fehler, nur Konvention.</p>
</blockquote>
<p>was heißt konvention in diesem fall?</p>
<blockquote>
<p>Warum? Was tun beide Varianten?</p>
<p>MfG</p>
</blockquote>
<p>also bei der definition einer methode muss auch der klassenname angegeben werden. und der wird vom funktionsnamen durch den bereichsoperator :: getrennt</p>
<p>aber eigentlich hab ich doch gar keine methode, weil keine public deklariert wurde. oder steh ich grad auf dem schlauch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927830</guid><dc:creator><![CDATA[1nfinity]]></dc:creator><pubDate>Sat, 17 Jul 2010 19:54:19 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Sat, 17 Jul 2010 20:03:33 GMT]]></title><description><![CDATA[<p>1nfinity schrieb:</p>
<blockquote>
<blockquote>
<p>Kein Fehler, nur Konvention.</p>
</blockquote>
<p>was heißt konvention in diesem fall?</p>
</blockquote>
<p>Man tut es halt. Es ist einfacher, ein Projekt bestehend aus mehreren Klassen zu kompilieren, wenn die Deklarationen in Header-Dateien stehen. So kann eine andere Klasse, die Dinge aus deiner Klasse benötigt, die Header-Datei einbinden und kann damit arbeiten, ohne schon den gesamten Code einzubinden.<br />
Uff, ich bin erstaunlich müde gerade. Ich hoffe, das passt so als Erklärung. <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>
<p>1nfinity schrieb:</p>
<blockquote>
<blockquote>
<p>Warum? Was tun beide Varianten?</p>
</blockquote>
<p>also bei der definition einer methode muss auch der klassenname angegeben werden. und der wird vom funktionsnamen durch den bereichsoperator :: getrennt</p>
<p>aber eigentlich hab ich doch gar keine methode, weil keine public deklariert wurde. oder steh ich grad auf dem schlauch?</p>
</blockquote>
<p>&quot;A a;&quot; ist nichts anderes als &quot;string foo;&quot; oder &quot;int i;&quot;<br />
Du deklarierst damit eine Variable &quot;a&quot; vom Typ &quot;A&quot;.</p>
<p>Was du meinst, ist die Definition einer Funktion. Also, wenn du z. B. eine Funktion getA() in deiner Klasse hättest, müsstest du die so implementieren:</p>
<pre><code>int A::a()
{
    return a;
}
</code></pre>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927836</guid><dc:creator><![CDATA[icwiener]]></dc:creator><pubDate>Sat, 17 Jul 2010 20:03:33 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Sat, 17 Jul 2010 20:16:05 GMT]]></title><description><![CDATA[<p>ja so meinte ich das.<br />
aha.verstehe!<br />
ok dann ist das also eine konvention und kein fehler. wieder dazu gelernt. für einen müden mann machst du aber noch einen hellen eindruck <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>
<p>vielen dank für den support! tolles forum</p>
<p>bis bald!!</p>
<p>mfg, 1nfinity</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927841</guid><dc:creator><![CDATA[1nfinity]]></dc:creator><pubDate>Sat, 17 Jul 2010 20:16:05 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Sun, 18 Jul 2010 08:41:56 GMT]]></title><description><![CDATA[<p>hello again,</p>
<p>also ich setze meine aufgabe hiermit heute fort.vlt sollte ich an deiser stelle die aufgabenstellung mal angeben:</p>
<pre><code>#include &lt;iostream&gt;

class A
{
private:
	int x;
};

int main()
{
	A a;
	std::cout &lt;&lt; a.x &lt;&lt; std::endl;
}
</code></pre>
<p>1. beschreiben sie alle fehler die von c++-compiler erkannt werden<br />
2. fügen sie für alle fehler an der richtigen stelle im code ihren vorschlag für eine korrekktr ein dabei dürfen sie die deklaration der variablen nicht verändern.</p>
<p>also meine fehleranalyse lautet:</p>
<ol>
<li></li>
</ol>
<p>-class in .h datei konventionell<br />
-in der main fkt wird x aus private geholt was nciht geht.</p>
<p>ok in visual studio den code eingegeben und debugged ergibt sich ein fehler den ich nun beheben muss.</p>
<p>VS Fehlerausgabe:<br />
&quot;&quot;A::x&quot;: Kein Zugriff auf private Member, dessen Deklaration in der A-Klasse erfolgte.&quot;</p>
<p>ok kan ich nachvollziehen, da x private ist.</p>
<p>mein problem zu aufgabe 2 lautet nun:<br />
ich soll also die zeile verändern ohne die deklaration der variablen zu ändern.</p>
<p>ich verstehe noch nciht genau was dieser kleine code überhaupt aussagt?<br />
also es wird eine classe A deklariert und eine variable x vom typ int .<br />
dann in der main fkt wird wieder eine variable a vom typ A deklariert.ich verstehe aber den sinn nicht genau.<br />
daher weis ich auch nicht direkt wie ich die zeile nun verändern muss.</p>
<p>ich bräuchte hilfestellung und freue mich auf jeden support</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927956</guid><dc:creator><![CDATA[1nfinity]]></dc:creator><pubDate>Sun, 18 Jul 2010 08:41:56 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlersuche on Sun, 18 Jul 2010 10:19:35 GMT]]></title><description><![CDATA[<p>Eine Klasse kapselt Daten zu einem bestimmten Objekt und Funktionen, die mit diesen Daten arbeiten.</p>
<pre><code class="language-cpp">class A
{
private:
    int x;
};
</code></pre>
<p>Willst du mit einer Klasse arbeiten, so musst du von dieser eine Instanz erstellen</p>
<pre><code class="language-cpp">A a;
</code></pre>
<p>a kann nun in dem Fall auf alle Eigenschaften und Funktionen deiner Klasse zugreifen, die public sind. (davon hast du derzeit ja noch keine)</p>
<p>Drum als Lösungsansatz</p>
<p>freakC++ schrieb:</p>
<blockquote>
<p>Du könntest eine get Methode schreiben, die public ist. Diese macht nichts anderes, als das private Attribut zurückzugeben.</p>
</blockquote>
<p>und diese Zeile dann entsprehend anpassen</p>
<pre><code class="language-cpp">std::cout &lt;&lt; a.x &lt;&lt; std::endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1927987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927987</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Sun, 18 Jul 2010 10:19:35 GMT</pubDate></item></channel></rss>