<?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[Problem mit Klasse und Operator Overloading]]></title><description><![CDATA[<p>Hi,<br />
hab hier ein kleines Problem. Ich möchte 2 Uhrzeiten addieren und habe schon folgendes Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
using namespace std;

class normalzeit {
private:
	int stunden;
	int minuten;
public:
	normalzeit (int h=0, int m=0) : stunden(h), minuten(m) {
	}

void ausgabe();
normalzeit operator + (const normalzeit&amp; x);

};

void normalzeit::ausgabe() {
	cout&lt;&lt;stunden &lt;&lt;&quot;:&quot;&lt;&lt;minuten&lt;&lt;&quot; Uhr&quot;&lt;&lt;endl;
}

void main()
{
	normalzeit uhr;
	normalzeit a(12,15), b(11,19);
	normalzeit c;
	a.ausgabe();
	b.ausgabe();
	c.ausgabe();
}
</code></pre>
<p>Es sollen die Summe zweier normalzeit Objekte (mit Stundenübertrag bei Minuten &gt;= 60) gebildet werden und in der c.ausgabe() ausgegeben werden. Hat jemand hier vielleicht ein paar Tips für mich.<br />
Viele Grüße<br />
Claus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/228210/problem-mit-klasse-und-operator-overloading</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 17:03:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/228210.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Nov 2008 14:51:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Klasse und Operator Overloading on Tue, 25 Nov 2008 14:51:42 GMT]]></title><description><![CDATA[<p>Hi,<br />
hab hier ein kleines Problem. Ich möchte 2 Uhrzeiten addieren und habe schon folgendes Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;
using namespace std;

class normalzeit {
private:
	int stunden;
	int minuten;
public:
	normalzeit (int h=0, int m=0) : stunden(h), minuten(m) {
	}

void ausgabe();
normalzeit operator + (const normalzeit&amp; x);

};

void normalzeit::ausgabe() {
	cout&lt;&lt;stunden &lt;&lt;&quot;:&quot;&lt;&lt;minuten&lt;&lt;&quot; Uhr&quot;&lt;&lt;endl;
}

void main()
{
	normalzeit uhr;
	normalzeit a(12,15), b(11,19);
	normalzeit c;
	a.ausgabe();
	b.ausgabe();
	c.ausgabe();
}
</code></pre>
<p>Es sollen die Summe zweier normalzeit Objekte (mit Stundenübertrag bei Minuten &gt;= 60) gebildet werden und in der c.ausgabe() ausgegeben werden. Hat jemand hier vielleicht ein paar Tips für mich.<br />
Viele Grüße<br />
Claus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1620528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1620528</guid><dc:creator><![CDATA[Claus12]]></dc:creator><pubDate>Tue, 25 Nov 2008 14:51:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse und Operator Overloading on Tue, 25 Nov 2008 15:39:51 GMT]]></title><description><![CDATA[<p>Claus12 schrieb:</p>
<blockquote>
<p>Hi,<br />
hab hier ein kleines Problem. Ich möchte 2 Uhrzeiten addieren und habe schon folgendes Programm:</p>
</blockquote>
<p>Angepasst, aber deine Aufgabe nicht gänzlich gelöst...</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;   // Unportabel, und noch nicht verwendet...
using namespace std; // Bitte vorsichtig hiermit umgehen: Niemals in Headern

// Einheitliche Einrückung wäre auch ganz gut zum lesen, ich habe mal meinen
// Platzverschwenderischen Stil verwendet, aber hauptsache: Bleib einheitlich...

class normalzeit
{
    private:
        int stunden;
        int minuten;

    public:
        normalzeit(
            int stunden=0, // nicht wundern: Ich habe was gegen kryptische
            int minuten=0) // abkürzungen; Nach einen 1/2 Jahr nicht mehr lesbar...
        :   stunden(stunden),
            minuten(minuten)
        {
        }

        void ausgabe();

        // Wer den operator+ definiert, sollte immer auch += definieren.
        // Ersteres löse ich in der Regel auserhalb der Klasse und verwende
        // intern letzteren...
        normalzeit&amp; operator+=(
            normalzeit const &amp; zeit);
};

normalzeit normalzeit::operator+=(
    normalzeit const &amp; zeit)
{
    // &lt;= Hier addierst du die Argumente unter Prüfung eines Überlaufes auf
    //    Sprich: stunden += zeit.stunden; ...
    return *this;
}

void normalzeit::ausgabe()
{
    cout &lt;&lt; stunden &lt;&lt; &quot;:&quot; &lt;&lt; minuten &lt;&lt; &quot; Uhr&quot; &lt;&lt; endl;
}

normalzeit operator+(
    normalzeit const &amp; zeitLinks,
    normalzeit const &amp; zeitRechts)
{
    normalzeit ergebnis = zeitLinks; // Kopierkonstruktor
    ergebnis += zeitRechts;          // operator+=
    return ergebnis;
}

int main() // Es gibt kein &quot;void main()&quot;
{
    normalzeit a(12,15);
    normalzeit b(11,19);
    normalzeit c = a + b; // Dann ruf doch auch die Addition auf...
    a.ausgabe();
    b.ausgabe();
    c.ausgabe();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1620554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1620554</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 25 Nov 2008 15:39:51 GMT</pubDate></item></channel></rss>