<?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[Objekte erstellen]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Problem.<br />
Und zwar hab ich mir folgenden Code gebastelt</p>
<pre><code class="language-cpp">//Header
# include &lt;iostream &gt;
# include &lt;windows.h&gt;
# include &lt;mmsystem.h&gt;

class Fahrzeug
{
public :
	Fahrzeug ();
	virtual void Fahrgeraeusch ();
	virtual void Info ();
}; 

class Sportwagen : public Fahrzeug {
	Sportwagen();
	void Fahrgeraeusch ();
	void Info ();

};

class LKW : public Fahrzeug {
	LKW();
	void Fahrgeraeusch ();
	void Info ();
};

class Traktor : public Fahrzeug {
	public:
	Traktor();
	void Fahrgeraeusch ();
	void Info ();
};
</code></pre>
<pre><code class="language-cpp">#include &quot;Fahrzeug.h&quot;
using namespace std;

Fahrzeug::Fahrzeug() {}
void Fahrzeug::Fahrgeraeusch() {}
void Fahrzeug::Info() {}

Sportwagen::Sportwagen(){}

void Sportwagen::Fahrgeraeusch () {
	PlaySound(TEXT(&quot;06_sportwagen.wav&quot;), NULL, SND_FILENAME);
}

void Sportwagen::Info (){
	cout &lt;&lt; &quot;Ein Sportwagen!&quot; &lt;&lt; endl;
}

LKW::LKW(){}

void LKW::Fahrgeraeusch () {
	PlaySound(TEXT(&quot;06_lkw.wav&quot;), NULL, SND_FILENAME);
}
void LKW::Info () {
	cout &lt;&lt; &quot;Ein LKW!&quot; &lt;&lt; endl;
}

Traktor::Traktor(){}

void Traktor::Fahrgeraeusch () {
	PlaySound(TEXT(&quot;06_traktor.wav&quot;), NULL, SND_FILENAME);
}
void Traktor::Info () {
	cout &lt;&lt; &quot;Ein Traktor!&quot; &lt;&lt; endl;
}

int main() {
    //Objekte erstellen
    Sportwagen * porsche = new Fahrzeug();
    porsche-&gt;Info();
    porsche-&gt;Fahrgeraeusch();

}
</code></pre>
<p>Das mit dem Objekt erzeugen funktioniert aber nicht so ganz. Vielleicht seh ich den Wald vor lauter Bäumen nicht.<br />
Wäre über Hilfe sehr erfreut <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/topic/304656/objekte-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 23 Jun 2026 22:23:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304656.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Jun 2012 18:36:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekte erstellen on Mon, 11 Jun 2012 18:36:22 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Problem.<br />
Und zwar hab ich mir folgenden Code gebastelt</p>
<pre><code class="language-cpp">//Header
# include &lt;iostream &gt;
# include &lt;windows.h&gt;
# include &lt;mmsystem.h&gt;

class Fahrzeug
{
public :
	Fahrzeug ();
	virtual void Fahrgeraeusch ();
	virtual void Info ();
}; 

class Sportwagen : public Fahrzeug {
	Sportwagen();
	void Fahrgeraeusch ();
	void Info ();

};

class LKW : public Fahrzeug {
	LKW();
	void Fahrgeraeusch ();
	void Info ();
};

class Traktor : public Fahrzeug {
	public:
	Traktor();
	void Fahrgeraeusch ();
	void Info ();
};
</code></pre>
<pre><code class="language-cpp">#include &quot;Fahrzeug.h&quot;
using namespace std;

Fahrzeug::Fahrzeug() {}
void Fahrzeug::Fahrgeraeusch() {}
void Fahrzeug::Info() {}

Sportwagen::Sportwagen(){}

void Sportwagen::Fahrgeraeusch () {
	PlaySound(TEXT(&quot;06_sportwagen.wav&quot;), NULL, SND_FILENAME);
}

void Sportwagen::Info (){
	cout &lt;&lt; &quot;Ein Sportwagen!&quot; &lt;&lt; endl;
}

LKW::LKW(){}

void LKW::Fahrgeraeusch () {
	PlaySound(TEXT(&quot;06_lkw.wav&quot;), NULL, SND_FILENAME);
}
void LKW::Info () {
	cout &lt;&lt; &quot;Ein LKW!&quot; &lt;&lt; endl;
}

Traktor::Traktor(){}

void Traktor::Fahrgeraeusch () {
	PlaySound(TEXT(&quot;06_traktor.wav&quot;), NULL, SND_FILENAME);
}
void Traktor::Info () {
	cout &lt;&lt; &quot;Ein Traktor!&quot; &lt;&lt; endl;
}

int main() {
    //Objekte erstellen
    Sportwagen * porsche = new Fahrzeug();
    porsche-&gt;Info();
    porsche-&gt;Fahrgeraeusch();

}
</code></pre>
<p>Das mit dem Objekt erzeugen funktioniert aber nicht so ganz. Vielleicht seh ich den Wald vor lauter Bäumen nicht.<br />
Wäre über Hilfe sehr erfreut <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/2222166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222166</guid><dc:creator><![CDATA[Ohrfeigenbeauftrage]]></dc:creator><pubDate>Mon, 11 Jun 2012 18:36:22 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Mon, 11 Jun 2012 18:42:49 GMT]]></title><description><![CDATA[<p>Ein Zeiger kann auf ein spezialisierteres Objekt seiner Klasse zeigen, aber nicht auf ein weniger spezialisiertes. Da jeder Sportwagen ein Fahrzeug ist, kann man einen Sportwagen wie ein Fahrzeug behandeln. Aber nicht umgekehrt.</p>
<p>Dies war nicht die Antwort die du suchst? Vielleicht solltest du dein Problem genauer beschreiben. Lies dir dazu mal die Links in meiner Signatur durch. &quot;Funktioniert nicht&quot; ist keine Fehlerbeschreibung!</p>
<p>(Technische Anmerkung: Wozu hast du Konstruktoren, wenn die alle leer sind?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222168</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 11 Jun 2012 18:42:49 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Mon, 11 Jun 2012 18:43:22 GMT]]></title><description><![CDATA[<p>Wolltest du vielleicht nicht eher das hier?</p>
<pre><code class="language-cpp">Fahrzeug * porsche = new Sportwagen();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2222169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222169</guid><dc:creator><![CDATA[KMT]]></dc:creator><pubDate>Mon, 11 Jun 2012 18:43:22 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Mon, 11 Jun 2012 19:30:52 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>(Technische Anmerkung: Wozu hast du Konstruktoren, wenn die alle leer sind?)</p>
</blockquote>
<p>Damit das Binary kleiner wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222183</guid><dc:creator><![CDATA[technischerdienst]]></dc:creator><pubDate>Mon, 11 Jun 2012 19:30:52 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Mon, 11 Jun 2012 20:25:53 GMT]]></title><description><![CDATA[<p>technischerdienst schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>(Technische Anmerkung: Wozu hast du Konstruktoren, wenn die alle leer sind?)</p>
</blockquote>
<p>Damit das Binary kleiner wird?</p>
</blockquote>
<p>Ich glaub die Optimierung des Compilers würde das Zeug sowieso weg tun.</p>
<p>Außerdem reden wir hier von sehr kleinen Speichermengen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222196</guid><dc:creator><![CDATA[IrgendeinName]]></dc:creator><pubDate>Mon, 11 Jun 2012 20:25:53 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Mon, 11 Jun 2012 20:52:38 GMT]]></title><description><![CDATA[<p>KMT schrieb:</p>
<blockquote>
<p>Wolltest du vielleicht nicht eher das hier?</p>
<pre><code class="language-cpp">Fahrzeug * porsche = new Sportwagen();
</code></pre>
</blockquote>
<p>Wenn ich das mache, habe ich auch wieder ein Problem, dass der Compiler meckert.</p>
<p><em>error C2248: &quot;Sportwagen::Sportwagen&quot;: Kein Zugriff auf private Member, dessen Deklaration in der Sportwagen-Klasse erfolgte.</em></p>
<p>Was ich nicht so ganz verstehe, denn ich habe doch gar keine privaten Member angelegt?!</p>
<p>Nehme ich allerdings</p>
<pre><code class="language-cpp">Sportwagen * porsche = new Fahrzeug();
</code></pre>
<p>gibt es folgende Fehlermeldung</p>
<p>*error C2440: 'Initialisierung': 'Fahrzeug *' kann nicht in 'Sportwagen <em>' konvertiert werden</em></p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>(Technische Anmerkung: Wozu hast du Konstruktoren, wenn die alle leer sind?)</p>
</blockquote>
<p>Die Konstruktoren haben hier erstmal keine große Bedeutung. Wichtig war mir die Ausgabe der Musikdateien.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222206</guid><dc:creator><![CDATA[Ohrfeigenbeauftrage]]></dc:creator><pubDate>Mon, 11 Jun 2012 20:52:38 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Mon, 11 Jun 2012 21:17:30 GMT]]></title><description><![CDATA[<p>Du hast vergessen bei Sportwagen</p>
<pre><code class="language-cpp">public:
</code></pre>
<p>zu schreiben. Klassen sind von Haus aus private, wenn du nicht public: machst.</p>
<p>Schreib einfach mal public: über die Member im Header, wie bei Fahrzeug.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222209</guid><dc:creator><![CDATA[IrgendeinName]]></dc:creator><pubDate>Mon, 11 Jun 2012 21:17:30 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Mon, 11 Jun 2012 21:17:17 GMT]]></title><description><![CDATA[<p>Ohrfeigenbeauftrage schrieb:</p>
<blockquote>
<p><em>error C2248: &quot;Sportwagen::Sportwagen&quot;: Kein Zugriff auf private Member, dessen Deklaration in der Sportwagen-Klasse erfolgte.</em></p>
<p>Was ich nicht so ganz verstehe, denn ich habe doch gar keine privaten Member angelegt?!</p>
</blockquote>
<p>Doch, da du in Sportwagen und LKW nicht public vor die Funktionen geschrieben hast. Beim Traktor ist es richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222210</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Mon, 11 Jun 2012 21:17:17 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Mon, 11 Jun 2012 21:23:07 GMT]]></title><description><![CDATA[<p>IrgendeinName schrieb:</p>
<blockquote>
<p>technischerdienst schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>(Technische Anmerkung: Wozu hast du Konstruktoren, wenn die alle leer sind?)</p>
</blockquote>
<p>Damit das Binary kleiner wird?</p>
</blockquote>
<p>Ich glaub die Optimierung des Compilers würde das Zeug sowieso weg tun.</p>
<p>Außerdem reden wir hier von sehr kleinen Speichermengen.</p>
</blockquote>
<p>Da brauchst du nix zu glauben, das war ein Scherz (hoffe ich zumindest, denn ich kann den Witz darin nicht finden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222211</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 11 Jun 2012 21:23:07 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Tue, 12 Jun 2012 12:48:42 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Sportwagen * porsche = new Fahrzeug();
</code></pre>
<p>Wenn ich das mache, habe ich folgende Meldung:<br />
*<br />
error C2440: 'Initialisierung': 'Fahrzeug *' kann nicht in 'Sportwagen <em>' konvertiert werden 38</em></p>
<p>Mache ich aber</p>
<pre><code class="language-cpp">Fahrzeug * porsche = new Sportwagen();
</code></pre>
<p>hat er einen Linkerfehler</p>
<p><em>error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;__imp__PlaySoundW@12&quot; in Funktion &quot;&quot;public: virtual void __thiscall Sportwagen::Fahrgeraeusch(void)&quot; (?Fahrgeraeusch@Sportwagen@@UAEXXZ)&quot;.</em></p>
<p>Natürlich habe ich meinen Header angepasst mit</p>
<pre><code class="language-cpp">public:
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2222364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222364</guid><dc:creator><![CDATA[Ohrfeigenbeauftrage]]></dc:creator><pubDate>Tue, 12 Jun 2012 12:48:42 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Tue, 12 Jun 2012 12:53:09 GMT]]></title><description><![CDATA[<p>Ohrfeigenbeauftrage schrieb:</p>
<blockquote>
<p>[<br />
<em>error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;__imp__PlaySoundW@12&quot; in Funktion &quot;&quot;public: virtual void __thiscall Sportwagen::Fahrgeraeusch(void)&quot; (?Fahrgeraeusch@Sportwagen@@UAEXXZ)&quot;.</em></p>
</blockquote>
<p>Da fehlt dir noch die lib in der PlaySound implementiert ist. z.Bsp. die Winmm.lib.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222367</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 12 Jun 2012 12:53:09 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte erstellen on Tue, 12 Jun 2012 13:01:11 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Da fehlt dir noch die lib in der PlaySound implementiert ist. z.Bsp. die Winmm.lib.</p>
</blockquote>
<p>Vielen Dank, das war der Fehler!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222369</guid><dc:creator><![CDATA[Ohrfeigenbeauftrage]]></dc:creator><pubDate>Tue, 12 Jun 2012 13:01:11 GMT</pubDate></item></channel></rss>