<?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]]></title><description><![CDATA[<p>Hallo,<br />
ich habe folgendes Programm:</p>
<pre><code>// complex.h

#include &lt;string&gt;
using namespace std;

class Complex {
  double re;
  double im;
public:
	Complex();
	Complex(double, double);
	Complex sum(Complex a, Complex b);// +
	double print();
	~Complex();
};

//complex.cpp

Complex Complex:: sum (Complex a, Complex b)   // (Addition)
{
	Complex erg;
	erg.re= a.re+b.re;
	erg.im= a.im+b.im;

	return erg;
}

double Complex:: print() 
{
	double real;
	double img;

	real=this-&gt;re;
	img=this-&gt;im;

	return(real);
}.....
</code></pre>
<p>Nun mein Problem:<br />
double real erhält immer einen falschen Wert. die sum funktion habe ich schon überprüft, die spuckt das richtige ergebnis aus, wenn ich aber dann mit erg.print(); den realteil ausgeben will,geht das nicht...wo ist mein fehler?<br />
wäre echt supi wenn mir jmd helfen könnte, ich komm nicht drauf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
danke schonmal, greetz!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198081/problem-mit-klasse</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 20:28:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198081.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Nov 2007 09:29:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 09:29:19 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe folgendes Programm:</p>
<pre><code>// complex.h

#include &lt;string&gt;
using namespace std;

class Complex {
  double re;
  double im;
public:
	Complex();
	Complex(double, double);
	Complex sum(Complex a, Complex b);// +
	double print();
	~Complex();
};

//complex.cpp

Complex Complex:: sum (Complex a, Complex b)   // (Addition)
{
	Complex erg;
	erg.re= a.re+b.re;
	erg.im= a.im+b.im;

	return erg;
}

double Complex:: print() 
{
	double real;
	double img;

	real=this-&gt;re;
	img=this-&gt;im;

	return(real);
}.....
</code></pre>
<p>Nun mein Problem:<br />
double real erhält immer einen falschen Wert. die sum funktion habe ich schon überprüft, die spuckt das richtige ergebnis aus, wenn ich aber dann mit erg.print(); den realteil ausgeben will,geht das nicht...wo ist mein fehler?<br />
wäre echt supi wenn mir jmd helfen könnte, ich komm nicht drauf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
danke schonmal, greetz!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405177</guid><dc:creator><![CDATA[Newbieplusplus]]></dc:creator><pubDate>Sun, 18 Nov 2007 09:29:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 09:38:58 GMT]]></title><description><![CDATA[<p>ich sehe keine stelle an der was ausgegeben wird</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405183</guid><dc:creator><![CDATA[ähm]]></dc:creator><pubDate>Sun, 18 Nov 2007 09:38:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 09:47:20 GMT]]></title><description><![CDATA[<p>die double real welche die print funktion ausgibt, habe ich in der main ausgeben lassen, aber auch wenn man in der print schon macht cout &lt;&lt; real wird was falsches ausgegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405186</guid><dc:creator><![CDATA[Newbieplusplus]]></dc:creator><pubDate>Sun, 18 Nov 2007 09:47:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 10:14:08 GMT]]></title><description><![CDATA[<p>na dann zeig doch mal den code</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405193</guid><dc:creator><![CDATA[ähm]]></dc:creator><pubDate>Sun, 18 Nov 2007 10:14:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 10:25:34 GMT]]></title><description><![CDATA[<pre><code>// complex.h

#include &lt;string&gt;
using namespace std;

class Complex {
  double re;
  double im;
public:
    Complex();
    Complex(double, double);
    Complex sum(Complex a, Complex b);// +
    double print();
    ~Complex();
};

//complex.cpp

Complex Complex:: sum (Complex a, Complex b)   // (Addition)
{
    Complex erg;
    erg.re= a.re+b.re;
    erg.im= a.im+b.im;

    return erg;
}

double Complex:: print()
{
    double real;
    double img;

    real=this-&gt;re;
    img=this-&gt;im;

    cout &lt;&lt; real &lt;&lt; endl; // gibt schon falsches aus.
    cout &lt;&lt; re &lt;&lt; endl; // gibt auch was falsches aus.

    return(real);
}

//main.cpp

#include &quot;complex.h&quot;

void main()

{
	Complex a(5,5);
	Complex b(5,5);
	Complex erg;
	erg.sum(a,b);
	erg.print();
}
</code></pre>
<p>die frage warum ich bei print() überhaupt ein return hab, beantworte ich jetzt schonmal:) : und zwar soll spätermal der returnwert noch wo anderes genutzt werden, aber soweit bin ich leider noch lange nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405196</guid><dc:creator><![CDATA[Newbieplusplus]]></dc:creator><pubDate>Sun, 18 Nov 2007 10:25:34 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 10:57:49 GMT]]></title><description><![CDATA[<p>dein sum gibt ein Complex objekt zurück das du nie mehr verwendest</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405213</guid><dc:creator><![CDATA[ähm]]></dc:creator><pubDate>Sun, 18 Nov 2007 10:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 11:05:35 GMT]]></title><description><![CDATA[<p>Sind deine Konstruktoren richtig implementiert (ich tippe auf uninitialisierte Member)?</p>
<p>Und wie soll die Methode sum() denn korrekt arbeiten?<br />
So wie du es gemacht hast, also den neuen Wert zurückgeben - ohne die aktuelle Instanz zu verwenden, solltest du diese Methode statisch deklarieren. Dann käme nämlich ein Compiler-Fehler...</p>
<pre><code class="language-cpp">static Complex sum(Complex a, Complex b);

Complex erg;
erg.sum(a, b); // Compiler-Fehler

Complex c = Complex::sum(a,b); // korrekt
cout &lt;&lt; c.print();
</code></pre>
<p>Und verwende NIEMALS &quot;using namespace std;&quot; in Headern! (ich glaube, das könnte ich bald als meine Signatur verwenden -)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405214</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Sun, 18 Nov 2007 11:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 11:15:47 GMT]]></title><description><![CDATA[<p>Danke! So wie du sagst TH funkt es.<br />
namespace im header, wirds auch nie wieder geben <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>
<p>grüße, schönen sonntag noch!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405227</guid><dc:creator><![CDATA[Newbieplusplus]]></dc:creator><pubDate>Sun, 18 Nov 2007 11:15:47 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 15:01:44 GMT]]></title><description><![CDATA[<p>warum machst du nicht ne methode add(Complex&amp; c)? Wäre besser, als immer ein neues Objekt zu erzeugen. Oder gleich + überladen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405345</guid><dc:creator><![CDATA[ähm]]></dc:creator><pubDate>Sun, 18 Nov 2007 15:01:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Klasse on Sun, 18 Nov 2007 17:51:12 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Complex operator+ (const Complex &amp;a, const Complex &amp;b){

    return Complex(a.re+b.re,a.im+b.im);
}
</code></pre>
<p>und angenomme der konstruktro</p>
<pre><code class="language-cpp">Complex(double, double);
</code></pre>
<p>funzt korrekt.</p>
<pre><code class="language-cpp">Complex::Complex(double r, double i) : re(r),im(i){

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1405479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405479</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Sun, 18 Nov 2007 17:51:12 GMT</pubDate></item></channel></rss>