<?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[Definieren einer Methode außerhalb der Klasse]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich schreibe kommende Woche meine Prüfung in Programmierung 1 und hab eine paar Fragen zu einer früheren Klausuraufgabe, ich hoffe ihr könnt mir helfen!</p>
<p>Zur Ausgangslage:</p>
<p>Die Klasse „rechteck“ besitzt folgende Eigenschaften:<br />
-zwei private Variablen (Typ float) für die Attribute „laenge“ und „breite“<br />
-eine private Klassenvariable zum Zählen der generierten Instanzen (Rechtecke)</p>
<p>Die Klasse soll folgende Methoden (public) zur Verfügung stellen:<br />
(1)einen Standardkonstruktor zur Initialisierung der Attribute „laenge“ und „breite“ mit 0<br />
(2)einen Konstruktor mit zwei float-Parametern zum Setzen der Attribute „laenge“ und „breite“<br />
(3)eine Methode „flaeche“, die die Fläche eines Rechtecks errechnet und auf dem Bildschirm ausgibt<br />
(4)eine Klassenmethode „anzahl_rechtecke“, die die Anzahl der generierten Instanzen (Rechtecke) auf dem Bildschirm ausgibt.</p>
<p>Frage: Definieren Sie nun die Methode (2) aus der Ausgangslage außerhalb der Klasse „rechteck“<br />
(einen Konstruktor mit zwei float-Parametern zum Setzen der Attribute „laenge“ und „breite“)</p>
<p>Wie kann ich das lösen, was muss ich da schreiben?</p>
<p>Für eure Hilfe bin ich echt sehr dankbar!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203779/definieren-einer-methode-außerhalb-der-klasse</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 03:13:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203779.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Jan 2008 13:15:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sat, 26 Jan 2008 13:15:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich schreibe kommende Woche meine Prüfung in Programmierung 1 und hab eine paar Fragen zu einer früheren Klausuraufgabe, ich hoffe ihr könnt mir helfen!</p>
<p>Zur Ausgangslage:</p>
<p>Die Klasse „rechteck“ besitzt folgende Eigenschaften:<br />
-zwei private Variablen (Typ float) für die Attribute „laenge“ und „breite“<br />
-eine private Klassenvariable zum Zählen der generierten Instanzen (Rechtecke)</p>
<p>Die Klasse soll folgende Methoden (public) zur Verfügung stellen:<br />
(1)einen Standardkonstruktor zur Initialisierung der Attribute „laenge“ und „breite“ mit 0<br />
(2)einen Konstruktor mit zwei float-Parametern zum Setzen der Attribute „laenge“ und „breite“<br />
(3)eine Methode „flaeche“, die die Fläche eines Rechtecks errechnet und auf dem Bildschirm ausgibt<br />
(4)eine Klassenmethode „anzahl_rechtecke“, die die Anzahl der generierten Instanzen (Rechtecke) auf dem Bildschirm ausgibt.</p>
<p>Frage: Definieren Sie nun die Methode (2) aus der Ausgangslage außerhalb der Klasse „rechteck“<br />
(einen Konstruktor mit zwei float-Parametern zum Setzen der Attribute „laenge“ und „breite“)</p>
<p>Wie kann ich das lösen, was muss ich da schreiben?</p>
<p>Für eure Hilfe bin ich echt sehr dankbar!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443963</guid><dc:creator><![CDATA[fm2008]]></dc:creator><pubDate>Sat, 26 Jan 2008 13:15:16 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sat, 26 Jan 2008 13:26:13 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>was hast Du denn schon? Weißt Du grundsätzlich, wie man eine Klasse definiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443970</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sat, 26 Jan 2008 13:26:13 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sat, 26 Jan 2008 13:26:42 GMT]]></title><description><![CDATA[<p>So sieht die Ausgangslage aus...</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class rechteck
{
	float laenge,breite,inst_cnt;
public:
	rechteck(void)
	{
		laenge=0; breite=0;
	}
	rechteck(float,float);
	void flaeche(void)
	{
		std::cout&lt;&lt;laenge*breite;
	}
	void anzahl_rechtecke(void)
	{
		std::cout&lt;&lt;inst_cnt;
	}
}
</code></pre>
<p>...und das ist die Antwort auf die Frage:</p>
<pre><code class="language-cpp">rechteck::rechteck(float laenge_init,float breite_init)
{
	laenge=laenge_init; breite=breite_init;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1443972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443972</guid><dc:creator><![CDATA[MOV Weltall,Abfall]]></dc:creator><pubDate>Sat, 26 Jan 2008 13:26:42 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sat, 26 Jan 2008 14:04:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke erstmal für die Antwort.</p>
<p>ich hab ein Beispiel wie ich das gemacht hätte, vielleicht könnt ihr mal drüberschauen ob das so stimmt:</p>
<p>class rechteck<br />
{<br />
public:<br />
rechteck(float a = 0, float b = 0);</p>
<p>float laenge;<br />
float breite;</p>
<p>float flaeche();<br />
int anzahl_rechtecke();<br />
};</p>
<p>rechteck::rechteck(float a, float b)<br />
{<br />
laenge = a;<br />
breite = b;<br />
anz_rechtecke++;<br />
}</p>
<p>float rechteck::flaeche()<br />
{<br />
return laenge * breite;<br />
}</p>
<p>int rechteck::anzahl_rechtecke()<br />
{<br />
return anz_rechtecke;<br />
}</p>
<p>Ist das soweit in Ordnung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443995</guid><dc:creator><![CDATA[fm2008]]></dc:creator><pubDate>Sat, 26 Jan 2008 14:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sat, 26 Jan 2008 14:49:06 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Probier es doch aus. Wenn du willst das sich jemand das anschauet dann solltest du es lesbarer formatieren : sfds</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444017</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 26 Jan 2008 14:49:06 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sat, 26 Jan 2008 14:58:29 GMT]]></title><description><![CDATA[<p>fm2008 schrieb:</p>
<blockquote>
<p>ich hab ein Beispiel wie ich das gemacht hätte, vielleicht könnt ihr mal drüberschauen ob das so stimmt:</p>
<pre><code class="language-cpp">class rechteck
{
public:
    rechteck(float a = 0, float b = 0);

    float laenge;
    float breite;

    float flaeche();
    int anzahl_rechtecke();
};
</code></pre>
</blockquote>
<p>Da Du bei den Seiten des Rechtecks immer von Länge und Breite sprichst, solltest Du die Variabalen auch immer so nennen. Die Attribute der Klasse sollten private sein. Und die Methode anzahl_rechtecke sollte static sei, da sie alle (!) Rechtecke betrifft, also global ist.<br />
Die Methode flaeche sollte const sein, da sie ein Rechteck-Objekt nicht verändert.</p>
<p>Verbesserungsvorschlag:</p>
<pre><code class="language-cpp">class rechteck
{
public:
    rechteck(float laenge_ = 0, float breite_ = 0);

    float flaeche() const; 
    static int anzahl_rechtecke();
private:
    float laenge;
    float breite;
    static int anz_rechtecke;
};
</code></pre>
<p>Benutze bei der Implementierung des Konstruktors Initialisierungslisten.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444023</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sat, 26 Jan 2008 14:58:29 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sat, 26 Jan 2008 15:07:21 GMT]]></title><description><![CDATA[<p>akari, hier wie von dir gewünscht, und ich habs geschafft <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="🙂"
    /> danke für den Hinweis mit dem Syntaxcoloring, ich wusst nicht wie das geht...</p>
<pre><code class="language-cpp">class rechteck
{
public:rechteck(float a=0, float b=0);

float laenge;
float breite;

float flaeche();
int anzahl_rechtecke();
}
reckteck::rechteck(float a, float b)
{
laenge=a;
breite=b;
anzahl_rechtecke++;
}
float rechteck::flaeche()
{
return laenge*breite;
}
int rechteck::anzahl_rechtecke()
{
return anzahl_rechtecke;
}
</code></pre>
<p>Danke Werner für deinen Verbesserungsvorschlag! aber wie muss ich es unten abändern, wenn ich nicht mehr a und b sondern &quot;laenge&quot; und &quot;breite&quot; habe?<br />
Könntest du dein Beispiel fortführen und mir das mit dem Konstruktur zeigen und wie ich dann die Attribte &quot;laenge&quot; und &quot;breite&quot; setzen kann?</p>
<p>Vielen Dank für eure Hilfe, ich hoffe ich strapazier eure Nerven nicht allzusehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444027</guid><dc:creator><![CDATA[fm2008]]></dc:creator><pubDate>Sat, 26 Jan 2008 15:07:21 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sat, 26 Jan 2008 16:55:42 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class rect
{
    float m_length;
    float m_width;
    static unsigned int ms_count;

public:
    rect(float length = 0.f, float width = 0.f)
        : m_length(length), m_width(width)
    { ++rect::ms_count; }
    ~rect()
    { --rect::ms_count; }

public:
    float area() const { return width * length; }
    static int count() { return ms_count; }
};

rect::ms_count(0);
</code></pre>
<p>so sehe das aus, wenn du es mit width und length machen würdest <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="😉"
    /> Und dann gibt dir count auch die korrekte Anzahl!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444088</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 26 Jan 2008 16:55:42 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sun, 27 Jan 2008 14:47:45 GMT]]></title><description><![CDATA[<p>Ich hab hier nochmal einen Lösungsansatz, ein bisschen anders als oben dargestellt. Könnt ihr euch das ansehen und mir sagen ob das so in Ordnung ist, und der aufgabenstellung entspricht, eine Methode zum setzen der Attribute &quot;laenge&quot; und &quot;breite&quot; zu entwerfen?</p>
<p>Danke</p>
<pre><code class="language-cpp">class rechteck 
{ 
public: 
   rechteck(float laenge = 0, float breite = 0); 
   ~rechteck(); 

   float flaeche(); 
   static int anzahl_rechtecke(); 

private: 
   float laenge; 
   float breite; 
   static int anzahl_rechtecke; 
}; 

int rechteck::anzahl_rechtecke = 0; 

rechteck::rechteck(float a, float b) 
{ 

   laenge = a; 
   breite = b; 

   anzahl_rechtecke++; 
} 

rechteck::~rechteck() 
{ 

   anzahl_rechtecke--; 
} 

float rechteck::flaeche() 
{ 
   return laenge*breite; 
} 

float rechteck::anzahl_rechtecke() 
{ 
   return anzahl_rechtecke; 
}
</code></pre>
<p>Danke für eure Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444544</guid><dc:creator><![CDATA[fm2008]]></dc:creator><pubDate>Sun, 27 Jan 2008 14:47:45 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sun, 27 Jan 2008 19:36:19 GMT]]></title><description><![CDATA[<p>* Die Aufgabenstellung (1 + 2) verlangt von dir <strong>zwei</strong> Konstruktoren<br />
* Die Aufgabenstellung (3) ist nur teilerfüllt. Du berechnest zwar den Flächeninhalt, führst aber keine Ausgabe durch.<br />
* Die Rückgabe der Anzahl der Instanzen sollte als Aufzähltyp (Ganzzahl, idealerweise <strong>size_t</strong>) erfolgen, nicht als Fließkommazahl.</p>
<p>Initialisierungslisten sind auch eine feine Sache:</p>
<pre><code class="language-cpp">rechteck::rechteck()
    : laenge(0.0f), breite(0.0f)
    {
        ++instances;
    }

rechteck::rechteck(float laenge, float breite)
    : laenge(laenge), breite(breite)
    {
        ++instances;
    }
</code></pre>
<p>In dem Zusammenhang weise ich aber mal auf ein altes Problem hin, was mir schon drei graue Haare beschert hat: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-196486" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-196486</a></p>
<p>Grüße... Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444707</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Sun, 27 Jan 2008 19:36:19 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sun, 27 Jan 2008 20:44:41 GMT]]></title><description><![CDATA[<p>Man kann einen Konstruktor mit Default-Parametern als 2 Konstruktoren betrachten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444731</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 27 Jan 2008 20:44:41 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Sun, 27 Jan 2008 20:57:21 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>Man kann einen Konstruktor mit Default-Parametern als 2 Konstruktoren betrachten.</p>
</blockquote>
<p>Es sind sogar 3. Dieser Konstruktor konvertiert auch floats direkt und implizit - zudem ist das Ergebnis nicht besonders sinnvoll. Schließlich wird man in den meisten Fällen keine Verwendung für ein Rechteck mit Länge aber ohne Breite haben - jedenfalls nicht als Standard.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444737</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 27 Jan 2008 20:57:21 GMT</pubDate></item><item><title><![CDATA[Reply to Definieren einer Methode außerhalb der Klasse on Mon, 28 Jan 2008 04:15:10 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18649">@fm2008</a>: Sind die klassen von dir selber geschrieben , oder hast irgendwo abgeschrieben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444798</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 28 Jan 2008 04:15:10 GMT</pubDate></item></channel></rss>