<?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[Vererbung in Klassen; HILFE]]></title><description><![CDATA[<p>Hallo, ich habe Probleme bei einer Programmier-Aufgabe, die ich in der Uni gestellt bekommen habe.<br />
Wir sollen ein Programm zum Verwalten von Lehrveranstaltungen erstellen.</p>
<p>Mein Programm sieht immoment so aus:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

class Lehrveranstaltung
{
protected:
	char Bezeichung[29];
	char Uhrzeit[11];
	short int Raumnummer;
	char Wochentag[2];

public:
	Lehrveranstaltung()
	{
		cout &lt;&lt; &quot;Bezeichnung\t = ? &quot;; cin &gt;&gt; Bezeichung;
		cout &lt;&lt; &quot;Wochentag (Mo/Di/Mi/Do/Fr) \t= ? &quot;; cin &gt;&gt; Wochentag;
		cout &lt;&lt; &quot;Raumnummer \t = ? &quot;; cin &gt;&gt; Raumnummer;
		cout &lt;&lt; &quot;Uhrzeit: von-bis \t = ? &quot;; cin &gt;&gt; Uhrzeit;
	};
	void Anzeige(){ cout &lt;&lt; Bezeichung &lt;&lt; endl &lt;&lt; Wochentag &lt;&lt; &quot; in Raum &quot; &lt;&lt; Raumnummer &lt;&lt; endl &lt;&lt; &quot;Uhrzeit: &quot; &lt;&lt; Uhrzeit &lt;&lt; endl; };
};
class Vorlesung : public Lehrveranstaltung
{
public:
	void Anzeige()
	{
		Lehrveranstaltung::Anzeige();
	};
};
class Uebung : public Lehrveranstaltung
{
private: char Gruppe[1];
public:
	Uebung(){
		cout &lt;&lt; &quot;Gruppe \t = ? &quot;; cin &gt;&gt; Gruppe;
	};
	void Anzeige()
	{
		Lehrveranstaltung::Anzeige();
		cout &lt;&lt; &quot;Gruppe: &quot; &lt;&lt; Gruppe &lt;&lt; endl;
	};
};
class Praktikum : public Lehrveranstaltung
{
private:
	char Betreuer[29];
public:
	Praktikum(){
		cout &lt;&lt; &quot;Betreuer \t = ? &quot;; cin &gt;&gt; Betreuer;
	};
	void Anzeige()
	{
		Lehrveranstaltung::Anzeige();
		cout &lt;&lt; &quot;Betreuer: &quot; &lt;&lt; Betreuer &lt;&lt; endl;
	};
};

class Klausur : public Lehrveranstaltung
{
private:
	char Datum[10];
	int AnzahlTeilnehmer;
public:
	Klausur(){
		cout &lt;&lt; &quot;Datum \t = ? &quot;; cin &gt;&gt; Datum;
		cout &lt;&lt; &quot;Anzahl der Teilnehmer \t = ? &quot;; cin &gt;&gt; AnzahlTeilnehmer;
	};
	void Anzeige()
	{
		Lehrveranstaltung::Anzeige();
		cout &lt;&lt; &quot;Datum \t &quot; &lt;&lt; Datum &lt;&lt; endl &lt;&lt; &quot;Anzahl der Teilnehmer: &quot; &lt;&lt; AnzahlTeilnehmer &lt;&lt; endl;
	};
};
int main()
{
	cout &lt;&lt; &quot; -Vorlesung Informatik&quot; &lt;&lt; endl;
	Vorlesung Iv;
	cout &lt;&lt; endl &lt;&lt; &quot;--Anzeige Vorlesung-- &quot; &lt;&lt; endl;
	Iv.Anzeige();
	cout &lt;&lt; endl &lt;&lt; endl;

	cout &lt;&lt; &quot; -Uebung Informatik&quot; &lt;&lt; endl;
	Uebung Iu;
	cout &lt;&lt; endl &lt;&lt; &quot;--Anzeige Uebung--&quot; &lt;&lt; endl;
	Iu.Anzeige();
	cout &lt;&lt; endl &lt;&lt; endl;

	cout &lt;&lt; &quot; -Praktikum Informatik&quot; &lt;&lt; endl;
	Praktikum Ip;
	cout &lt;&lt; endl &lt;&lt; &quot;--Anzeige Praktikum--&quot; &lt;&lt; endl;
	Ip.Anzeige();
	cout &lt;&lt; endl &lt;&lt; endl;

	cout &lt;&lt; &quot; -Klausur Informatik&quot; &lt;&lt; endl;
	Klausur Ik;
	cout &lt;&lt; endl &lt;&lt; &quot;--Anzeige Klausur--&quot; &lt;&lt; endl;
	Ik.Anzeige();
	cout &lt;&lt; endl &lt;&lt; endl;

	system(&quot;PAUSE&quot;);
	return 0;
}
</code></pre>
<p>Folgende Probleme treten auf:</p>
<p>1. Bei den abgeleiteten Klassen (Uebung, Praktikum und Klausur) wird das spezielle Attribut (also bei Uebung wäre es &quot;Gruppe&quot;) bei der Ausgabe an den Wochentag gehängt, d.h. bei der Ausgabe steht dann zum Beispiel bei dem Praktikum &quot;MoMueller&quot; statt &quot;Mo&quot;, wenn als Betreuer vorher &quot;Mueller&quot; eingegeben wurde.<br />
Woran liegt das?</p>
<p>2.Zudem lautete ein Teil der Aufgabe<br />
&quot;Implementieren Sie in main() exemplarisch die Lehrveranstaltung GIP mit je 1<br />
Vorlesung, Übung, Praktikum und Klausur, indem Sie die entsprechenden<br />
Objekte lokal (nicht dynamisch) erzeugen. Rufen Sie jeweils nach dem<br />
Erzeugen eines Objektes dessen Methode Anzeige() auf, um die Werte der<br />
Attribute anzuzeigen.&quot;<br />
und ich bin mir nicht sicher ob ich die Aufgabe auf den Teil der Aufgabenstellung bezogen richtig umgesetzt habe.<br />
Ich hatte in main() zunächst das Objekt &quot;Lehrveranstaltung I&quot;, jedoch wurde der Konstruktor dann ausgeführt/es kam zur doppelten Abfrage der Daten, daher habe ich es so umgeändert.</p>
<p>Ich danke jetzt schonmal sehr für hilfreiche Antworten.<br />
Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/330357/vererbung-in-klassen-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 11:35:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330357.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Jan 2015 16:44:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vererbung in Klassen; HILFE on Tue, 06 Jan 2015 16:44:55 GMT]]></title><description><![CDATA[<p>Hallo, ich habe Probleme bei einer Programmier-Aufgabe, die ich in der Uni gestellt bekommen habe.<br />
Wir sollen ein Programm zum Verwalten von Lehrveranstaltungen erstellen.</p>
<p>Mein Programm sieht immoment so aus:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

class Lehrveranstaltung
{
protected:
	char Bezeichung[29];
	char Uhrzeit[11];
	short int Raumnummer;
	char Wochentag[2];

public:
	Lehrveranstaltung()
	{
		cout &lt;&lt; &quot;Bezeichnung\t = ? &quot;; cin &gt;&gt; Bezeichung;
		cout &lt;&lt; &quot;Wochentag (Mo/Di/Mi/Do/Fr) \t= ? &quot;; cin &gt;&gt; Wochentag;
		cout &lt;&lt; &quot;Raumnummer \t = ? &quot;; cin &gt;&gt; Raumnummer;
		cout &lt;&lt; &quot;Uhrzeit: von-bis \t = ? &quot;; cin &gt;&gt; Uhrzeit;
	};
	void Anzeige(){ cout &lt;&lt; Bezeichung &lt;&lt; endl &lt;&lt; Wochentag &lt;&lt; &quot; in Raum &quot; &lt;&lt; Raumnummer &lt;&lt; endl &lt;&lt; &quot;Uhrzeit: &quot; &lt;&lt; Uhrzeit &lt;&lt; endl; };
};
class Vorlesung : public Lehrveranstaltung
{
public:
	void Anzeige()
	{
		Lehrveranstaltung::Anzeige();
	};
};
class Uebung : public Lehrveranstaltung
{
private: char Gruppe[1];
public:
	Uebung(){
		cout &lt;&lt; &quot;Gruppe \t = ? &quot;; cin &gt;&gt; Gruppe;
	};
	void Anzeige()
	{
		Lehrveranstaltung::Anzeige();
		cout &lt;&lt; &quot;Gruppe: &quot; &lt;&lt; Gruppe &lt;&lt; endl;
	};
};
class Praktikum : public Lehrveranstaltung
{
private:
	char Betreuer[29];
public:
	Praktikum(){
		cout &lt;&lt; &quot;Betreuer \t = ? &quot;; cin &gt;&gt; Betreuer;
	};
	void Anzeige()
	{
		Lehrveranstaltung::Anzeige();
		cout &lt;&lt; &quot;Betreuer: &quot; &lt;&lt; Betreuer &lt;&lt; endl;
	};
};

class Klausur : public Lehrveranstaltung
{
private:
	char Datum[10];
	int AnzahlTeilnehmer;
public:
	Klausur(){
		cout &lt;&lt; &quot;Datum \t = ? &quot;; cin &gt;&gt; Datum;
		cout &lt;&lt; &quot;Anzahl der Teilnehmer \t = ? &quot;; cin &gt;&gt; AnzahlTeilnehmer;
	};
	void Anzeige()
	{
		Lehrveranstaltung::Anzeige();
		cout &lt;&lt; &quot;Datum \t &quot; &lt;&lt; Datum &lt;&lt; endl &lt;&lt; &quot;Anzahl der Teilnehmer: &quot; &lt;&lt; AnzahlTeilnehmer &lt;&lt; endl;
	};
};
int main()
{
	cout &lt;&lt; &quot; -Vorlesung Informatik&quot; &lt;&lt; endl;
	Vorlesung Iv;
	cout &lt;&lt; endl &lt;&lt; &quot;--Anzeige Vorlesung-- &quot; &lt;&lt; endl;
	Iv.Anzeige();
	cout &lt;&lt; endl &lt;&lt; endl;

	cout &lt;&lt; &quot; -Uebung Informatik&quot; &lt;&lt; endl;
	Uebung Iu;
	cout &lt;&lt; endl &lt;&lt; &quot;--Anzeige Uebung--&quot; &lt;&lt; endl;
	Iu.Anzeige();
	cout &lt;&lt; endl &lt;&lt; endl;

	cout &lt;&lt; &quot; -Praktikum Informatik&quot; &lt;&lt; endl;
	Praktikum Ip;
	cout &lt;&lt; endl &lt;&lt; &quot;--Anzeige Praktikum--&quot; &lt;&lt; endl;
	Ip.Anzeige();
	cout &lt;&lt; endl &lt;&lt; endl;

	cout &lt;&lt; &quot; -Klausur Informatik&quot; &lt;&lt; endl;
	Klausur Ik;
	cout &lt;&lt; endl &lt;&lt; &quot;--Anzeige Klausur--&quot; &lt;&lt; endl;
	Ik.Anzeige();
	cout &lt;&lt; endl &lt;&lt; endl;

	system(&quot;PAUSE&quot;);
	return 0;
}
</code></pre>
<p>Folgende Probleme treten auf:</p>
<p>1. Bei den abgeleiteten Klassen (Uebung, Praktikum und Klausur) wird das spezielle Attribut (also bei Uebung wäre es &quot;Gruppe&quot;) bei der Ausgabe an den Wochentag gehängt, d.h. bei der Ausgabe steht dann zum Beispiel bei dem Praktikum &quot;MoMueller&quot; statt &quot;Mo&quot;, wenn als Betreuer vorher &quot;Mueller&quot; eingegeben wurde.<br />
Woran liegt das?</p>
<p>2.Zudem lautete ein Teil der Aufgabe<br />
&quot;Implementieren Sie in main() exemplarisch die Lehrveranstaltung GIP mit je 1<br />
Vorlesung, Übung, Praktikum und Klausur, indem Sie die entsprechenden<br />
Objekte lokal (nicht dynamisch) erzeugen. Rufen Sie jeweils nach dem<br />
Erzeugen eines Objektes dessen Methode Anzeige() auf, um die Werte der<br />
Attribute anzuzeigen.&quot;<br />
und ich bin mir nicht sicher ob ich die Aufgabe auf den Teil der Aufgabenstellung bezogen richtig umgesetzt habe.<br />
Ich hatte in main() zunächst das Objekt &quot;Lehrveranstaltung I&quot;, jedoch wurde der Konstruktor dann ausgeführt/es kam zur doppelten Abfrage der Daten, daher habe ich es so umgeändert.</p>
<p>Ich danke jetzt schonmal sehr für hilfreiche Antworten.<br />
Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436238</guid><dc:creator><![CDATA[newling987]]></dc:creator><pubDate>Tue, 06 Jan 2015 16:44:55 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung in Klassen; HILFE on Tue, 06 Jan 2015 16:51:26 GMT]]></title><description><![CDATA[<p>Wenn du char-Arrays statt std::string verwendest, musst du auf die richtige Länge achten. Wenn dein Wochentag &quot;Mo&quot; lautet, fehlt dir in deinem Array Platz für das abschließende \0.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2436239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436239</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Tue, 06 Jan 2015 16:51:26 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung in Klassen; HILFE on Tue, 06 Jan 2015 16:55:17 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Wenn du char-Arrays statt std::string verwendest, musst du auf die richtige Länge achten. Wenn dein Wochentag &quot;Mo&quot; lautet, fehlt dir in deinem Array Platz für das abschließende \0.</p>
</blockquote>
<p>Alles klar.<br />
Danke, dieses Problem hat sich gelöst <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/2436241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2436241</guid><dc:creator><![CDATA[newling987]]></dc:creator><pubDate>Tue, 06 Jan 2015 16:55:17 GMT</pubDate></item></channel></rss>