<?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[Klassendeklaration - irgendwas läuft da gehörig schief]]></title><description><![CDATA[<p>Moinsen</p>
<p>ich bräuchte mal dringend Hilfe, stehe nämlich absolut aufm Schlauch:</p>
<p>Schreiben wollte ich einen &quot;Bruchrechner&quot;, wie gehabt zu Übungszwecken.<br />
Dazu habe ich eine Klasse &quot;Bruch&quot;, die auch einwandfrei funktioniert, und wollte nun eine Klasse Rechner schreiben, die Brüche verrechnen kann. So sieht die rechner.h aus:</p>
<pre><code class="language-cpp">include &quot;bruch.h&quot;

class Rechner 
{
	public:

		Rechner();
		~Rechner();
		void multiplizieren(Bruch, Bruch);
		void dividieren(Bruch, Bruch);
		void summieren(Bruch, Bruch);
		void subtrahieren(Bruch, Bruch);

	protected:
		Bruch bErgebnis;

};
</code></pre>
<p>und so die rechner.cpp:</p>
<pre><code class="language-cpp">#include &quot;rechner.h&quot; 

Rechner::Rechner()
{
	bErgebnis.sZaehler(0);
	bErgebnis.sNenner(1);

}

Rechner::~Rechner()
{
}

void Rechner::dividieren(Bruch Divident, Bruch Divisor)
{
	Rechner::multiplizieren(Divident, (Divisor.kehrwert()));
}

void Rechner::multiplizieren(Bruch Faktor1, Bruch Faktor2)
{
	bErgebnis.sZaehler(Faktor1.gZaehler()*Faktor2.gZaehler());
	bErgebnis.sNenner(Faktor1.gNenner()*Faktor2.gNenner());
}

void Rechner::summieren(Bruch Faktor1, Bruch Faktor2)
{
	bErgebnis.sNenner(Faktor1.gNenner()*Faktor2.gNenner());
	bErgebnis.sZaehler((Faktor1.gZaehler()*Faktor2.gNenner())+(Faktor2.gZaehler()*Faktor1.gNenner()));
	bErgebnis.kuerzeVoll();
}

void Rechner::subtrahieren(Bruch Faktor1, Bruch Faktor2)
{
	bErgebnis.sNenner(Faktor1.gNenner()*Faktor2.gNenner());
	bErgebnis.sZaehler((Faktor1.gZaehler()*Faktor2.gNenner())-(Faktor2.gZaehler()*Faktor1.gNenner()));
	bErgebnis.kuerzeVoll();
}
</code></pre>
<p>Fehler beim Kompilieren zeigt er wie folgt an: (Zeilen und Dateipfade entfernt)</p>
<blockquote>
<p>In file included from rechner.cpp<br />
expected constructor, destructor, or type conversion before string constant<br />
expected <code>,' or</code>;' before string constant<br />
<code>Rechner' has not been declared ISO C++ forbids declaration of</code>Rechner' with no type<br />
In function <code>int Rechner()':</code>bErgebnis' undeclared (first use this function)</p>
</blockquote>
<p>Und noch ne Menge anderer, die - wie ich vermute - auf den selben Fehler hindeuten.</p>
<p>Nur wo ist der Fehler?</p>
<p>Vielen Dank schon mal für die Antworten</p>
<p>Panke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121348/klassendeklaration-irgendwas-läuft-da-gehörig-schief</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 16:45:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121348.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Sep 2005 13:05:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassendeklaration - irgendwas läuft da gehörig schief on Thu, 22 Sep 2005 13:05:02 GMT]]></title><description><![CDATA[<p>Moinsen</p>
<p>ich bräuchte mal dringend Hilfe, stehe nämlich absolut aufm Schlauch:</p>
<p>Schreiben wollte ich einen &quot;Bruchrechner&quot;, wie gehabt zu Übungszwecken.<br />
Dazu habe ich eine Klasse &quot;Bruch&quot;, die auch einwandfrei funktioniert, und wollte nun eine Klasse Rechner schreiben, die Brüche verrechnen kann. So sieht die rechner.h aus:</p>
<pre><code class="language-cpp">include &quot;bruch.h&quot;

class Rechner 
{
	public:

		Rechner();
		~Rechner();
		void multiplizieren(Bruch, Bruch);
		void dividieren(Bruch, Bruch);
		void summieren(Bruch, Bruch);
		void subtrahieren(Bruch, Bruch);

	protected:
		Bruch bErgebnis;

};
</code></pre>
<p>und so die rechner.cpp:</p>
<pre><code class="language-cpp">#include &quot;rechner.h&quot; 

Rechner::Rechner()
{
	bErgebnis.sZaehler(0);
	bErgebnis.sNenner(1);

}

Rechner::~Rechner()
{
}

void Rechner::dividieren(Bruch Divident, Bruch Divisor)
{
	Rechner::multiplizieren(Divident, (Divisor.kehrwert()));
}

void Rechner::multiplizieren(Bruch Faktor1, Bruch Faktor2)
{
	bErgebnis.sZaehler(Faktor1.gZaehler()*Faktor2.gZaehler());
	bErgebnis.sNenner(Faktor1.gNenner()*Faktor2.gNenner());
}

void Rechner::summieren(Bruch Faktor1, Bruch Faktor2)
{
	bErgebnis.sNenner(Faktor1.gNenner()*Faktor2.gNenner());
	bErgebnis.sZaehler((Faktor1.gZaehler()*Faktor2.gNenner())+(Faktor2.gZaehler()*Faktor1.gNenner()));
	bErgebnis.kuerzeVoll();
}

void Rechner::subtrahieren(Bruch Faktor1, Bruch Faktor2)
{
	bErgebnis.sNenner(Faktor1.gNenner()*Faktor2.gNenner());
	bErgebnis.sZaehler((Faktor1.gZaehler()*Faktor2.gNenner())-(Faktor2.gZaehler()*Faktor1.gNenner()));
	bErgebnis.kuerzeVoll();
}
</code></pre>
<p>Fehler beim Kompilieren zeigt er wie folgt an: (Zeilen und Dateipfade entfernt)</p>
<blockquote>
<p>In file included from rechner.cpp<br />
expected constructor, destructor, or type conversion before string constant<br />
expected <code>,' or</code>;' before string constant<br />
<code>Rechner' has not been declared ISO C++ forbids declaration of</code>Rechner' with no type<br />
In function <code>int Rechner()':</code>bErgebnis' undeclared (first use this function)</p>
</blockquote>
<p>Und noch ne Menge anderer, die - wie ich vermute - auf den selben Fehler hindeuten.</p>
<p>Nur wo ist der Fehler?</p>
<p>Vielen Dank schon mal für die Antworten</p>
<p>Panke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/877842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877842</guid><dc:creator><![CDATA[Panke]]></dc:creator><pubDate>Thu, 22 Sep 2005 13:05:02 GMT</pubDate></item><item><title><![CDATA[Reply to Klassendeklaration - irgendwas läuft da gehörig schief on Thu, 22 Sep 2005 13:08:38 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">include &quot;bruch.h&quot;
</code></pre>
<p>das # vergessen im Code oder ist es beim kopieren in den Post verloren gegangen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/877847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877847</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Thu, 22 Sep 2005 13:08:38 GMT</pubDate></item><item><title><![CDATA[Reply to Klassendeklaration - irgendwas läuft da gehörig schief on Thu, 22 Sep 2005 13:19:09 GMT]]></title><description><![CDATA[<p>Ich gehe mir dann mal ein tiefes Loch suchen und mich verkriechen.</p>
<p>Danke schön.</p>
<p>Panke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/877863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/877863</guid><dc:creator><![CDATA[Panke]]></dc:creator><pubDate>Thu, 22 Sep 2005 13:19:09 GMT</pubDate></item></channel></rss>