<?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+Vererbung]]></title><description><![CDATA[<p>Morgen,<br />
hab mal wieder eine Frage/Problem: Ich habe die Basisklasse Auftrag, jetzt habe ich mir das so vorgestellt, dass ich weiter Klassen Bauauftrag, Abreißen, Verkaufen von dieser Klasse erben lasse. Soweit kein Problem. Jetzt will ich aber all diese Klassen in einer Liste/Vector speichern, um sie nacheinander abarbeiten zu können. Wie mache ich das? Ich kann ja nicht unterschiedlich Datentypen in einen Vector packen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Hier ein Codebeispiel, könnt ihr auch mal schauen ob ich die enum's richtig benutze:</p>
<pre><code class="language-cpp">class Auftrag{
private:
enum status{FERTIG, IN BEARBEITUNG,...};
int x,y,z; 
time_t start; //Wann der Auftrag ausgeführt werden soll
int status;
public:
Auftrag(int status, time_t start){
this-&gt;status=status;
this-&gt;start=start;
}
~Auftrag();
};
class Bauauftrag:Auftrag{
private:
int gebaeude;
enum gebaeude_{TURM,BRUECKE,WERKSTATT,HAUS};
public:
Bauauftrag(int status, int gebaeude):Auftrag(status);
~Bauauftrag();
};
[...]
vector&lt;???&gt; Auftraege;//Hier weiß ich nicht weiter
</code></pre>
<p>Vielen Dank <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/258867/klassen-vererbung</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 02:21:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/258867.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 Jan 2010 09:35:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen+Vererbung on Sat, 16 Jan 2010 09:35:01 GMT]]></title><description><![CDATA[<p>Morgen,<br />
hab mal wieder eine Frage/Problem: Ich habe die Basisklasse Auftrag, jetzt habe ich mir das so vorgestellt, dass ich weiter Klassen Bauauftrag, Abreißen, Verkaufen von dieser Klasse erben lasse. Soweit kein Problem. Jetzt will ich aber all diese Klassen in einer Liste/Vector speichern, um sie nacheinander abarbeiten zu können. Wie mache ich das? Ich kann ja nicht unterschiedlich Datentypen in einen Vector packen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Hier ein Codebeispiel, könnt ihr auch mal schauen ob ich die enum's richtig benutze:</p>
<pre><code class="language-cpp">class Auftrag{
private:
enum status{FERTIG, IN BEARBEITUNG,...};
int x,y,z; 
time_t start; //Wann der Auftrag ausgeführt werden soll
int status;
public:
Auftrag(int status, time_t start){
this-&gt;status=status;
this-&gt;start=start;
}
~Auftrag();
};
class Bauauftrag:Auftrag{
private:
int gebaeude;
enum gebaeude_{TURM,BRUECKE,WERKSTATT,HAUS};
public:
Bauauftrag(int status, int gebaeude):Auftrag(status);
~Bauauftrag();
};
[...]
vector&lt;???&gt; Auftraege;//Hier weiß ich nicht weiter
</code></pre>
<p>Vielen Dank <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/1839641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839641</guid><dc:creator><![CDATA[*MOP*]]></dc:creator><pubDate>Sat, 16 Jan 2010 09:35:01 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sat, 16 Jan 2010 10:19:58 GMT]]></title><description><![CDATA[<p>Ich hatte ein ähnliches Problem. Ich habe hierzu einen Boost vector genommen. Hat wunderbar funktioniert. Das ganze ist aber nicht schön da du beim auslesen immer casten musst.</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-255536-and-highlight-is-.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-255536-and-highlight-is-.html</a><br />
<a href="http://www.boost.org/" rel="nofollow">http://www.boost.org/</a></p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839652</guid><dc:creator><![CDATA[Croatiancow]]></dc:creator><pubDate>Sat, 16 Jan 2010 10:19:58 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sat, 16 Jan 2010 10:37:54 GMT]]></title><description><![CDATA[<p>Mache in der Basis Klasse / Interface eine (pure) virtuelle Methode: z.B. void abarbeiten()...</p>
<p>Nun tust Du in den konkreten Aufträgen, z.B. den BauAuftrag die Methode abarbeiten() überschreiben, bzw. implementieren.</p>
<p>Im Vecctor speicherst Du Zeiger auf Aufträge:</p>
<p>std::vector&lt;Auftrag*&gt; meineAuftraege;</p>
<p>Gruss Simon</p>
<p>Edit:<br />
Ausserdem wäre bei der Verebung von Autrag eine public Vererbung angesagt. Und der Destruktor der Klasse Auftrag muss virtuell sein, falls Du (und das tust Du wahrscheinlich) delete auf einen Basis Klassenzeiger aufrufst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839656</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 16 Jan 2010 10:37:54 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sat, 16 Jan 2010 15:29:04 GMT]]></title><description><![CDATA[<p>Boost.PointerContainer empfiehlt sich auf jeden Fall, wenn man Zeiger auf polymorphe Objekte in Containern speichern möchte. Die Schnittstelle ist soweit möglich kompatibel zur STL, aber man muss sich nicht um die Speicherverwaltung kümmern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839805</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 16 Jan 2010 15:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sun, 17 Jan 2010 12:48:15 GMT]]></title><description><![CDATA[<p>Ok danke werd ich gleic ausprobieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Edit: ich will jetzt in jeder Klasse Auftrag die Zeit speichern, wann er ausgeführt werden soll. Ich will also nicht speichern in wie vielen Sekunden, sondern im Format hh<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f1f2-1f1f2.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--myanmar_burma_"
      title=":mm:"
      alt="🇲🇲"
    />ss. Ich hab überhaupt keine Ahnung wie das geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> Über google hab ich nur eine Klasse time_t gefunden mit der man die aktuelle Uhrzeit speichern kann, wie aber einen festen Zeitpunkt in der Zukunft speichern? Ich hab mir das so vorgestellt: (pseudocode)</p>
<pre><code class="language-cpp">time_t start=11:00:03 // Elf Uhr und 3 sekunden^^
...
if(start==aktuelle_zeit) AuftragAusführen();
</code></pre>
<p>Geht das überhaupt so? <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1840121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1840121</guid><dc:creator><![CDATA[*MOP*]]></dc:creator><pubDate>Sun, 17 Jan 2010 12:48:15 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sun, 17 Jan 2010 12:54:36 GMT]]></title><description><![CDATA[<p>Nein, das geht so nicht. Das ist einfach eine Stuktur, die du füllen musst. Zur Benutzung kannst du z.B mal hier schauen:<br />
<a href="http://en.wikipedia.org/wiki/Time_t" rel="nofollow">http://en.wikipedia.org/wiki/Time_t</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1840140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1840140</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 17 Jan 2010 12:54:36 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sun, 17 Jan 2010 13:31:19 GMT]]></title><description><![CDATA[<p>Hmm, kennt jemand eine funktion mit der ich die tm Struktur um zum Beispiel 10 Minuten nach hinten verschieben kann? Oder muss ich mir die selber schreiben? <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/1840157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1840157</guid><dc:creator><![CDATA[*MOP*]]></dc:creator><pubDate>Sun, 17 Jan 2010 13:31:19 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sun, 17 Jan 2010 14:01:36 GMT]]></title><description><![CDATA[<p>Mit der Funktion <code>localtime()</code> erhältst du die aktuelle Zeit in der Struktur <code>tm</code> . Dir wird allerdings ein Zeiger zurückgegeben; besser, du legst eine Kopie an. Dann änderst du den Member <code>tm_min</code> , und erhöhst <code>tm_hour</code> wenn nötig. Tipp: Benutze Modulo und Integerdivision.</p>
<p>Genauere Beschreibungen zu der C-Zeitbehandlung findest du unter <a href="http://www.cplusplus.com/reference/clibrary/ctime/" rel="nofollow">http://www.cplusplus.com/reference/clibrary/ctime/</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1840180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1840180</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 17 Jan 2010 14:01:36 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sun, 17 Jan 2010 16:24:31 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Dann änderst du den Member <code>tm_min</code> , und erhöhst <code>tm_hour</code> wenn nötig.</p>
</blockquote>
<p>Ja schon klar, aber wenn es blöd läuft muss ich ja sogar das komplette Datum umschreiben, das Programm soll ja rund um die Uhr funktionieren^^, und ich glaube, dass das etwas kompliziert ist. Was ist denn wenn ich das ganze um 23:58 am 31.Dezember ausführe? <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>
<p>Nexus schrieb:</p>
<blockquote>
<p>Tipp: Benutze Modulo und Integerdivision.</p>
</blockquote>
<p>Was ist das? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Sry wenn ich mich so anstelle, für euch ist das wahrscheinlich alles eine Sache von ein paar Minuten <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/1840268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1840268</guid><dc:creator><![CDATA[*MOP*]]></dc:creator><pubDate>Sun, 17 Jan 2010 16:24:31 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sun, 17 Jan 2010 16:29:59 GMT]]></title><description><![CDATA[<p>[MOP] schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>Tipp: Benutze Modulo und Integerdivision.</p>
</blockquote>
<p>Was ist das? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p><a href="http://de.wikipedia.org/wiki/Modulo#Modulo" rel="nofollow">Modulo</a><br />
Und was eine Division ist, wirst du ja wohl noch wissen <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>
<p>Der Modulo Operator ist sehr praktisch, wenn du etwas immer in einem Bereich halten möchtest. Ein kurzes Beispiel:</p>
<pre><code class="language-cpp">int seconds = 2342143;

// Ich will jetzt wissen, wieviele Stunden, Minuten und übrig bleibende Sekunden dies sind.

int hours = seconds / (60 * 60);
seconds %= 60 * 60; // Modulooperator ist das Prozentzeichen '%'
// In seconds steht nun der Rest der Division. Also liegt es im Bereich 0 - 3599.

int minutes = seconds / 60;
seconds %= 60;
// Der Bereich von seconds ist nun 0 - 59.
</code></pre>
<p>Falls du mehr machen willst mit Daten und dazu Funktionen suchst, würde sich natürlich noch <a href="http://www.boost.org/doc/libs/1_41_0/doc/html/date_time.html" rel="nofollow">Boost.DateTime</a> anbieten. Sind aber um einiges komplexere Strukturen, bieten dafür natürlich viel mehr Möglichkeiten von Haus aus.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1840281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1840281</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 17 Jan 2010 16:29:59 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sun, 17 Jan 2010 16:51:55 GMT]]></title><description><![CDATA[<p>Ah ok, man muss einfach alles in sekunden speichern, und dann mit dem Modulo auf Stunden, Minuten usw umrechenen. Wenn es dann aber um Tage, Monate, und Jahre geht, ist das zu aufwendig, denke ich. Deswegen werde ich mir jetzt Boost.DateTime anschauen <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="🙂"
    /><br />
Was wäre C++ nur ohne Boost? <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/1840298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1840298</guid><dc:creator><![CDATA[*MOP*]]></dc:creator><pubDate>Sun, 17 Jan 2010 16:51:55 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sun, 17 Jan 2010 17:02:14 GMT]]></title><description><![CDATA[<p>[MOP] schrieb:</p>
<blockquote>
<p>Wenn es dann aber um Tage, Monate, und Jahre geht, ist das zu aufwendig, denke ich.</p>
</blockquote>
<p>Wenn du Dokumentationen nicht richtig liest und es über Modulo &amp; Co machst, ja ...</p>
<p>Dokumentationen nicht richtig lesen deshalb:<br />
<a href="http://www.cplusplus.com/reference/clibrary/ctime/mktime/" rel="nofollow">http://www.cplusplus.com/reference/clibrary/ctime/mktime/</a></p>
<p>Lies mal was dort ganz oben steht. Na, ich zitiere es lieber:</p>
<blockquote>
<p>Convert tm structure to time_t<br />
Interprets the contents of the tm structure pointed by timeptr as a calendar time expressed in local time. This calendar time is used to adjust the values of the members of timeptr accordingly and returned as an object of type time_t.</p>
<p>The original values of the members tm_wday and tm_yday of timeptr are ignored, <strong>and the ranges of values for the rest of its members are not restricted to their normal values (like tm_mday being between 1 and 31).</strong></p>
<p>The object pointed by timeptr is modified, setting the tm_wday and tm_yday to their appropiate values, <strong>and modifying the other members as necessary to values within the normal range representing the specified time.</strong></p>
</blockquote>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1840308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1840308</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 17 Jan 2010 17:02:14 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen+Vererbung on Sun, 17 Jan 2010 19:46:31 GMT]]></title><description><![CDATA[<p>Achso <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Mann bin ich blöd <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/1840408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1840408</guid><dc:creator><![CDATA[*MOP*]]></dc:creator><pubDate>Sun, 17 Jan 2010 19:46:31 GMT</pubDate></item></channel></rss>