<?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 protypen funktionieren nicht]]></title><description><![CDATA[<p>hier ist ein beispielcode meines problems:</p>
<pre><code class="language-cpp">class klasse1;
klasse1 objekt1;

class klasse1{
int i;
void func(){
printf(&quot;lol&quot;);
}

};
</code></pre>
<p>error C2079: 'objekt1' verwendet undefiniertes class 'klasse1'<br />
nun frage ich mich weshalb ich das objekt nicht erstellen, kann, obwohl ich doch einen prototypen erstellt habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/302154/klassen-protypen-funktionieren-nicht</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 14:05:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302154.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Apr 2012 09:29:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to klassen protypen funktionieren nicht on Thu, 12 Apr 2012 09:29:52 GMT]]></title><description><![CDATA[<p>hier ist ein beispielcode meines problems:</p>
<pre><code class="language-cpp">class klasse1;
klasse1 objekt1;

class klasse1{
int i;
void func(){
printf(&quot;lol&quot;);
}

};
</code></pre>
<p>error C2079: 'objekt1' verwendet undefiniertes class 'klasse1'<br />
nun frage ich mich weshalb ich das objekt nicht erstellen, kann, obwohl ich doch einen prototypen erstellt habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201074</guid><dc:creator><![CDATA[alterbro]]></dc:creator><pubDate>Thu, 12 Apr 2012 09:29:52 GMT</pubDate></item><item><title><![CDATA[Reply to klassen protypen funktionieren nicht on Thu, 12 Apr 2012 09:37:30 GMT]]></title><description><![CDATA[<p>Du hast keinen Prototypen erstellt,</p>
<pre><code class="language-cpp">class klasse1;
</code></pre>
<p>ist bloss eine Vorwaertsdeklaration (Forward Declaration).Der Compiler weiss dann bloss, dass es eine Klasse &quot;klasse1&quot; gibt aber nicht wie sie aussieht. Da er nicht weiss wie sie aussieht kannst du kein Objekt davon erstellen, er weiss ja nicht wie viel Speicher er dafuer anlegen muss. Es gibt zwei Loesungen.</p>
<ol>
<li></li>
</ol>
<p>Du machst &quot;objekt1&quot; zu einem Zeiger. Das geht, denn der Compiler weiss dann wie viel Speicher er fuer einen Zeiger braucht. Das sieht dann so aus:</p>
<pre><code class="language-cpp">class klasse1;
klasse1* objekt1;

class klasse1
{
	int i;
	void func()
	{
		printf(&quot;lol&quot;);
	}

};
</code></pre>
<p>Du musst dann natuerlich objekt1 noch initialisieren. Ich nehme allerdings an, dass du keinen Zeiger moechtest, deshalb gibt es Moeglichkeit 2.</p>
<ol start="2">
<li></li>
</ol>
<p>Du erstellst einen &quot;Prototypen&quot; fuer die Klasse. Normalerweise nennt man das einfach die Klasendeklaration. Und die Definition der Methoden gibst du spaeter an, hier der Code:</p>
<pre><code class="language-cpp">class klasse1
{
	int i;
	void func();
};

klasse1 objekt1;

void klasse1::func()
{
	printf(&quot;lol&quot;); // printf ist kein C++ sondern C, nimm std::cout
}
</code></pre>
<p>Ich denke du moechtest Moegichkeit 2 <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/2201078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201078</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Thu, 12 Apr 2012 09:37:30 GMT</pubDate></item><item><title><![CDATA[Reply to klassen protypen funktionieren nicht on Thu, 12 Apr 2012 09:59:14 GMT]]></title><description><![CDATA[<p>danke probiers aus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201084</guid><dc:creator><![CDATA[alterbro]]></dc:creator><pubDate>Thu, 12 Apr 2012 09:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to klassen protypen funktionieren nicht on Thu, 12 Apr 2012 17:52:53 GMT]]></title><description><![CDATA[<p>oder auch mit ein bisschen mehr C++-Standard-Terminologie:</p>
<pre><code class="language-cpp">// hier weiß der Compiler noch nichts von einem Typ dings

class dings;  // &lt;-- das ist eine DeKLARAtion von dings

// hier weiß der Compiler, dass es einen Klassen-Typ dings gibt
// Der Typ ist aber UNVOLLSTÄNDIG.

dings myfunction(dings p); // &lt;-- Für diese FunktionsDeKLARAtion
                           // reicht, dass dings unvollständig ist

dings* ptr = 0;  // Definition eines Zeigers. dings
                 // muss hier auch nicht vollständig sein

class dings { // Das hier ist eine
  int foo;    // DeFINItion
};            // von dings

// Hier ist der Typ VOLLSTÄNDIG

dings xxx;    // Das ist eine Definition von xxx
              // Für eine solche Definition muss der Typ
              // VOLLSTÄNDIG sein.

dings myfunction(dings p)  // Für diese FunktionsdeFINItion
{                          // muss dem Compiler dings vollständig bekannt sein.
  return p;                // Auch an Stellen, wo Du die Funktion aufrufen
}                          // willst, muss der Typ vollständig sein.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2201275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201275</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 12 Apr 2012 17:52:53 GMT</pubDate></item><item><title><![CDATA[Reply to klassen protypen funktionieren nicht on Thu, 12 Apr 2012 21:01:51 GMT]]></title><description><![CDATA[<p>ok, danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201339</guid><dc:creator><![CDATA[alterbro]]></dc:creator><pubDate>Thu, 12 Apr 2012 21:01:51 GMT</pubDate></item></channel></rss>