<?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[Initialisierungsliste eine Konstruktors]]></title><description><![CDATA[<p>Hi :xmas1:<br />
ich bin grade in der Prüfungsvorbereitungszeit angelangt und absolviere in 2 Wochen meine Gesellenprüfung (Elektroniker für Maschinen- und Antriebstechnik). Damit mir das Üben nicht zu langweilig wird, dachte ich mir, ich programmiere für meine Klasse und mich ein Programm, welches alle Daten für uns ausrechnet und uns unter anderem sagt, ob der angegebene Motor in Stern oder in Dreieck geschaltet werden soll. Hier kommt das Problem. Meine Klassenmethode <em>isDreieck()</em> gibt <em>true</em> oder <em>false</em> zurück (wenn <em>true</em>, dann kann der Motor in Dreieck betrieben werden).</p>
<pre><code>bool AsynchMotor::isDreieck() const {
	if(spannungStern &lt; spannungDreieck)
		return true;
	else
		return false;
}
</code></pre>
<p>Ich rufe die Methode erstmals in dem Konstruktor der Klasse <em>AsynchMotor</em> auf, um die Berechnung korrekt durchzuführen.</p>
<pre><code>class AsynchMotor {
public:
	AsynchMotor(float c, float p, float uD, float uS, float i, float n);

	float getScheinleistung() const;
	float getBlindleistung() const;
	float getWirkleistung() const;
	float getLeistungsfaktor() const;

	bool isDreieck() const;
private:
	// Nenndaten des Motors
	float cosPhi; // cos Phi
	float etha;
	float leistung; // Abgegebene Leistung
	float spannungStern, spannungDreieck; // Betriebsspannung
	float strom; // Nennstrom
	float drehzahl; // Nenndrehzahl
	float sLeistung, bLeistung, wLeistung;
};
</code></pre>
<pre><code>AsynchMotor::AsynchMotor(float c, float p, float uD, float uS, float i, float n) : cosPhi(c), leistung(p), spannungStern(uS), spannungDreieck(uD), strom(i), drehzahl(n) {
	float spannung = isDreieck() ? spannungDreieck : spannungStern;

	sLeistung = spannung * strom * sqrt(3.0f);
	wLeistung = sLeistung * cosPhi;
	bLeistung = sqrt((sLeistung * sLeistung) - (wLeistung * wLeistung));
	etha = leistung / wLeistung;
}
</code></pre>
<p>Mein Aufruf in der Mainfunktion:</p>
<pre><code>int main() {
	AsynchMotor motor1(0.81f, 3000.0f, 230.0f, 400.0f, 6.5f, 1420.0f);
	std::cout &lt;&lt; motor1.getScheinleistung &lt;&lt; std::endl // falsches Ergebnis (hier wurde mit 400V gerechnet. Richtig wäre eine Rechnung mit 230V)
	          &lt;&lt; motor1.isDreieck(); // hier wird das Ergebnis korrekt angezeigt

	_getch();
	return 0;
}
</code></pre>
<p>Wieso ist das Ergebnis <strong>im</strong> Konstruktor immer <em>true</em>?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/311440/initialisierungsliste-eine-konstruktors</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 00:32:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/311440.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Dec 2012 15:57:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Initialisierungsliste eine Konstruktors on Wed, 05 Dec 2012 15:57:31 GMT]]></title><description><![CDATA[<p>Hi :xmas1:<br />
ich bin grade in der Prüfungsvorbereitungszeit angelangt und absolviere in 2 Wochen meine Gesellenprüfung (Elektroniker für Maschinen- und Antriebstechnik). Damit mir das Üben nicht zu langweilig wird, dachte ich mir, ich programmiere für meine Klasse und mich ein Programm, welches alle Daten für uns ausrechnet und uns unter anderem sagt, ob der angegebene Motor in Stern oder in Dreieck geschaltet werden soll. Hier kommt das Problem. Meine Klassenmethode <em>isDreieck()</em> gibt <em>true</em> oder <em>false</em> zurück (wenn <em>true</em>, dann kann der Motor in Dreieck betrieben werden).</p>
<pre><code>bool AsynchMotor::isDreieck() const {
	if(spannungStern &lt; spannungDreieck)
		return true;
	else
		return false;
}
</code></pre>
<p>Ich rufe die Methode erstmals in dem Konstruktor der Klasse <em>AsynchMotor</em> auf, um die Berechnung korrekt durchzuführen.</p>
<pre><code>class AsynchMotor {
public:
	AsynchMotor(float c, float p, float uD, float uS, float i, float n);

	float getScheinleistung() const;
	float getBlindleistung() const;
	float getWirkleistung() const;
	float getLeistungsfaktor() const;

	bool isDreieck() const;
private:
	// Nenndaten des Motors
	float cosPhi; // cos Phi
	float etha;
	float leistung; // Abgegebene Leistung
	float spannungStern, spannungDreieck; // Betriebsspannung
	float strom; // Nennstrom
	float drehzahl; // Nenndrehzahl
	float sLeistung, bLeistung, wLeistung;
};
</code></pre>
<pre><code>AsynchMotor::AsynchMotor(float c, float p, float uD, float uS, float i, float n) : cosPhi(c), leistung(p), spannungStern(uS), spannungDreieck(uD), strom(i), drehzahl(n) {
	float spannung = isDreieck() ? spannungDreieck : spannungStern;

	sLeistung = spannung * strom * sqrt(3.0f);
	wLeistung = sLeistung * cosPhi;
	bLeistung = sqrt((sLeistung * sLeistung) - (wLeistung * wLeistung));
	etha = leistung / wLeistung;
}
</code></pre>
<p>Mein Aufruf in der Mainfunktion:</p>
<pre><code>int main() {
	AsynchMotor motor1(0.81f, 3000.0f, 230.0f, 400.0f, 6.5f, 1420.0f);
	std::cout &lt;&lt; motor1.getScheinleistung &lt;&lt; std::endl // falsches Ergebnis (hier wurde mit 400V gerechnet. Richtig wäre eine Rechnung mit 230V)
	          &lt;&lt; motor1.isDreieck(); // hier wird das Ergebnis korrekt angezeigt

	_getch();
	return 0;
}
</code></pre>
<p>Wieso ist das Ergebnis <strong>im</strong> Konstruktor immer <em>true</em>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2277520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2277520</guid><dc:creator><![CDATA[Ini-List]]></dc:creator><pubDate>Wed, 05 Dec 2012 15:57:31 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste eine Konstruktors on Wed, 05 Dec 2012 16:03:28 GMT]]></title><description><![CDATA[<p>debugge doch mal Schritt für Schritt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2277522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2277522</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 05 Dec 2012 16:03:28 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste eine Konstruktors on Wed, 05 Dec 2012 16:13:14 GMT]]></title><description><![CDATA[<p>Hab ich getan.<br />
spannungDreieck = 230.00000<br />
spannungStern = 400.00000</p>
<p>dann müsste die Methode doch bei</p>
<pre><code>if(spannungStern &lt; spannungDreieck)
		return true;
	else
		return false;
</code></pre>
<p><em>false</em> zurückgeben, was sie nicht tut!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2277529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2277529</guid><dc:creator><![CDATA[Ini-List]]></dc:creator><pubDate>Wed, 05 Dec 2012 16:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste eine Konstruktors on Wed, 05 Dec 2012 16:16:11 GMT]]></title><description><![CDATA[<p>Edit: Käse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2277531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2277531</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 05 Dec 2012 16:16:11 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste eine Konstruktors on Wed, 05 Dec 2012 16:16:30 GMT]]></title><description><![CDATA[<p>Ini-List schrieb:</p>
<blockquote>
<p>Hab ich getan.<br />
spannungDreieck = 230.00000<br />
spannungStern = 400.00000</p>
<p>dann müsste die Methode doch bei</p>
<pre><code>if(spannungStern &lt; spannungDreieck)
		return true;
	else
		return false;
</code></pre>
<p><em>false</em> zurückgeben, was sie nicht tut!</p>
</blockquote>
<p>Oh damn. Hab wohl zu lange geübt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code>float spannung = isDreieck() ? spannungStern : spannungDreieck;
</code></pre>
<p>Ups <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2277535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2277535</guid><dc:creator><![CDATA[Ini-List]]></dc:creator><pubDate>Wed, 05 Dec 2012 16:16:30 GMT</pubDate></item></channel></rss>