<?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[Klassen und verwendung im Hauptprogramm]]></title><description><![CDATA[<p>Guten Tag zusammen,</p>
<p>ich arbeite mit Visual Studios 2010 und bin noch ein sehr blutiger Anfänger <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="😕"
    /> .<br />
Beschäftigen uns Gerade in unserm Kurs mit Klassen und deren Verwendung im Hauptprogramm.</p>
<p>Vs schmeißt mir ein Fehler raus den ich nicht verstehe, mag mir das jemand erklären? Danke schonmal im Vorraus,</p>
<p>Hier der gesammte Code:</p>
<p>#include &quot;stdafx.h&quot;<br />
#include &lt;iostream&gt;<br />
#define _USE_MATH_DEFINES</p>
<p>using namespace std;</p>
<p>class tetra {<br />
private:<br />
int m_a, m_volumen;</p>
<p>public:<br />
bool setKante (int a) {<br />
if (a&gt;=0) {<br />
m_a=a;<br />
m_volumen= 1/12*a*a*a*1,414213562;<br />
return true;<br />
}<br />
else return false;cout&lt;&lt;&quot;a muss &gt;0 sein!&quot;;<br />
}<br />
int getKante() {return m_a;}<br />
int getVolumen() {return m_volumen;}</p>
<p>}</p>
<p>int _tmain(int argc, _TCHAR* argv[])<br />
{<br />
int a;</p>
<p>cout&lt;&lt;&quot;geben sie die kantenlänge ein:&quot;; cin&gt;&gt;a;<br />
cout&lt;&lt;&quot;Das Volumen des Tetraeders ist: &quot; &lt;&lt;tetra.getVolumen();<br />
system(&quot;pause&quot;);</p>
<p>return 0;<br />
}</p>
<p>Danke schonmal im Vorraus <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/topic/312685/klassen-und-verwendung-im-hauptprogramm</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 17:50:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312685.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Jan 2013 13:00:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen und verwendung im Hauptprogramm on Fri, 11 Jan 2013 13:00:01 GMT]]></title><description><![CDATA[<p>Guten Tag zusammen,</p>
<p>ich arbeite mit Visual Studios 2010 und bin noch ein sehr blutiger Anfänger <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="😕"
    /> .<br />
Beschäftigen uns Gerade in unserm Kurs mit Klassen und deren Verwendung im Hauptprogramm.</p>
<p>Vs schmeißt mir ein Fehler raus den ich nicht verstehe, mag mir das jemand erklären? Danke schonmal im Vorraus,</p>
<p>Hier der gesammte Code:</p>
<p>#include &quot;stdafx.h&quot;<br />
#include &lt;iostream&gt;<br />
#define _USE_MATH_DEFINES</p>
<p>using namespace std;</p>
<p>class tetra {<br />
private:<br />
int m_a, m_volumen;</p>
<p>public:<br />
bool setKante (int a) {<br />
if (a&gt;=0) {<br />
m_a=a;<br />
m_volumen= 1/12*a*a*a*1,414213562;<br />
return true;<br />
}<br />
else return false;cout&lt;&lt;&quot;a muss &gt;0 sein!&quot;;<br />
}<br />
int getKante() {return m_a;}<br />
int getVolumen() {return m_volumen;}</p>
<p>}</p>
<p>int _tmain(int argc, _TCHAR* argv[])<br />
{<br />
int a;</p>
<p>cout&lt;&lt;&quot;geben sie die kantenlänge ein:&quot;; cin&gt;&gt;a;<br />
cout&lt;&lt;&quot;Das Volumen des Tetraeders ist: &quot; &lt;&lt;tetra.getVolumen();<br />
system(&quot;pause&quot;);</p>
<p>return 0;<br />
}</p>
<p>Danke schonmal im Vorraus <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/2288700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2288700</guid><dc:creator><![CDATA[Tibbers]]></dc:creator><pubDate>Fri, 11 Jan 2013 13:00:01 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen und verwendung im Hauptprogramm on Fri, 11 Jan 2013 13:03:41 GMT]]></title><description><![CDATA[<p>Klassen sind Objektbeschreibungen. Du kannst nur Objekte benutzen. Mit der Beschreibung eines Messers kannst du auch kein Brot schneiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2288701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2288701</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Fri, 11 Jan 2013 13:03:41 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen und verwendung im Hauptprogramm on Fri, 11 Jan 2013 13:04:33 GMT]]></title><description><![CDATA[<p>nun hab ich glatt die Fehlermeldung vergessen.</p>
<p>Das tetra von tetra.getvolumen() ist rot unterschrichen.</p>
<p>&quot;Ein nicht statischer Memberverweis muss relativ zu einem bestimmten Objekt sein. &quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2288702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2288702</guid><dc:creator><![CDATA[Tibbers]]></dc:creator><pubDate>Fri, 11 Jan 2013 13:04:33 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen und verwendung im Hauptprogramm on Fri, 11 Jan 2013 13:12:35 GMT]]></title><description><![CDATA[<p>knivils Antwort gilt immer noch. Du versuchst gerade mit dem Lexikoneintrag zu einem Messer dein Brot zu schneiden.</p>
<p>Du musst ein Objekt vom Typ tetra erzeugen. Dann kannst du auch dessen Memberfunktionen benutzen. Hier ist dies bei dir sehr ungünstig gelöst, da es möglich ist, get_volumen vor set_kante zu benutzen, wodurch man irgendwelchen Unsinn bekäme. Ein Objekt sollte immer (oder zumindest wenn möglich) voll funktionsfähig erzeugt werden. Ein Tetraeder ohne Kantenlänge ist schließlich sinnlos. Du möchtest also wahrscheinlich noch einen passenden Konstruktor für deine Klasse schreiben.</p>
<p>P.S.: Falls du nicht weißt, wie das mit dem Erzeugen von Objekten geht: Dein <code>int a;</code> erzeugt praktisch ein Objekt vom Typ int, mit einem Objekt vom Typ tetra ginge das äquivalent. Aber wenn du dies noch nicht wusstest, solltest du ganz dringend nochmal die passenden Kapitel in deinem Lehrbuch ein weiteres Mal durchlesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2288703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2288703</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 11 Jan 2013 13:12:35 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen und verwendung im Hauptprogramm on Fri, 11 Jan 2013 13:14:28 GMT]]></title><description><![CDATA[<p>Das ist nicht einzige Fehler. Der größte Fehler ist in Zeile 25, da fehlt das Semikolon hinter der schließenden Klammer der Klasse.</p>
<p>Der Fehler den du beschreibst, das ist genau der Fall, den mein Vorredner beschreibt. Du hast kein Objekt, sondern du nutzt dort die Klasse. Das ist falsch.</p>
<p>Oh, jetzt wo ich genauer drüberlese, fallen mir noch viel mehr Fehler auf:</p>
<pre><code>//#include &quot;stdafx.h&quot;
#include &lt;iostream&gt;
#include &lt;tchar.h&gt;
#define _USE_MATH_DEFINES

using namespace std;

class tetra {
	int m_a;
	int m_volumen;

public:
	bool setKante (int a) { // wieso soll diese Funktione twas zurückgeben?
		if ( a &gt;= 0 ) {
			m_a = a;
			m_volumen = 1/12 * a * a * a * 1,414213562; // 1,41... ist keien Kommazahl, sondern 2 Zahlen durch Komma getrennt -&gt; 1.41...
			return true;
		}
		else 
			return false;

		cout&lt;&lt;&quot;a muss &gt;0 sein!&quot;; // diese Anweisung wird niemals ausgeführt, vorher wird schon returnt
	}

	int getKante() 
	{
		return m_a;
	}

	int getVolumen() 
	{
		return m_volumen; // oben willst du mit Kommazahlen rechnen, aber volumen ist eine ´Ganzzahl
	}
};

int _tmain(int argc, _TCHAR* argv[])
{
	int a;
	tetra t;

	cout &lt;&lt; &quot;geben sie die kantenlänge ein: &quot;; 
	cin &gt;&gt; a;

	t.setKante(a); // besser über Konstruktor lösen

	cout &lt;&lt; &quot;Das Volumen des Tetraeders ist: &quot; &lt;&lt; t.getVolumen() &lt;&lt; endl;

	system(&quot;pause&quot;); // nicht so ganz gut, siehe FAQ
	return 0;
}
</code></pre>
<p>Das sind mal die Dinge, die mir spontan eignefallen sind...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2288707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2288707</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 11 Jan 2013 13:14:28 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen und verwendung im Hauptprogramm on Fri, 11 Jan 2013 13:19:27 GMT]]></title><description><![CDATA[<p>Wow, ok da wird mir einiges Klarer, danke für die ausführliche Bearbeitung <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/2288710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2288710</guid><dc:creator><![CDATA[Tibbers]]></dc:creator><pubDate>Fri, 11 Jan 2013 13:19:27 GMT</pubDate></item></channel></rss>