<?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[Was haltet ihr von meiner Klasse?]]></title><description><![CDATA[<p>Hallo,<br />
dies ist meine erste Klasse, über die ich ein wenig mal nachgedacht habe, also seit bitte nicht zuuu hart zu mir, aber lasst es Kritik hageln <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="😉"
    /></p>
<p>Es sollen noch mehr dieser Art entstehen, damit die untereinander agieren können.</p>
<pre><code class="language-cpp">#include &lt;sstream&gt;
#include &lt;string&gt;

namespace Numbers //Unter diesem Namespace stehen dann auch die anderen Klassen, also
				  //Binary, HexaDecimal und Octal
{
	//Im C++-Primer stand, dass man für jede seiner Klassen möglichst eigene Typen
	//mittels typedef definieren sollte, also habe ich das gemacht :)
	typedef int dec_number;

	class Decimal //Meine Klasse für Decimalzahlen
	{
	private:
		dec_number number;
		std::stringstream ss_number; //Hier wird dann halt von dec_number(int) in die 
								//anderen Typen, wie bin_number(std::string) umgewandelt
	public:
		Decimal();
		Decimal(const dec_number &amp;number);
		Decimal(const Decimal &amp;decimal); //Mein Copy-Konstruktor
		~Decimal();

		Decimal&amp; Numbers::Decimal::operator=(const Decimal &amp;number);

		bool SetDecimal(); //Die Dezimalzahl setzen
		dec_number GetDecimal() const; //Die Dezimalzahl zurückgeben

		//Diese kann ich erst zur Klasse hinzufügen, wenn die anderen Klassen bestehen
		//bin_number ToBin(); //number als Binärzahl zurückgeben
		//hex_number ToHex(); //number als HexZahl zurückgeben
		//oct_number ToOct(); //number als OctZahl zurückgeben
	};
};
</code></pre>
<p>Gruß Speedy_92</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/223734/was-haltet-ihr-von-meiner-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 15:23:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223734.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 30 Sep 2008 12:21:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 12:24:49 GMT]]></title><description><![CDATA[<p>Hallo,<br />
dies ist meine erste Klasse, über die ich ein wenig mal nachgedacht habe, also seit bitte nicht zuuu hart zu mir, aber lasst es Kritik hageln <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="😉"
    /></p>
<p>Es sollen noch mehr dieser Art entstehen, damit die untereinander agieren können.</p>
<pre><code class="language-cpp">#include &lt;sstream&gt;
#include &lt;string&gt;

namespace Numbers //Unter diesem Namespace stehen dann auch die anderen Klassen, also
				  //Binary, HexaDecimal und Octal
{
	//Im C++-Primer stand, dass man für jede seiner Klassen möglichst eigene Typen
	//mittels typedef definieren sollte, also habe ich das gemacht :)
	typedef int dec_number;

	class Decimal //Meine Klasse für Decimalzahlen
	{
	private:
		dec_number number;
		std::stringstream ss_number; //Hier wird dann halt von dec_number(int) in die 
								//anderen Typen, wie bin_number(std::string) umgewandelt
	public:
		Decimal();
		Decimal(const dec_number &amp;number);
		Decimal(const Decimal &amp;decimal); //Mein Copy-Konstruktor
		~Decimal();

		Decimal&amp; Numbers::Decimal::operator=(const Decimal &amp;number);

		bool SetDecimal(); //Die Dezimalzahl setzen
		dec_number GetDecimal() const; //Die Dezimalzahl zurückgeben

		//Diese kann ich erst zur Klasse hinzufügen, wenn die anderen Klassen bestehen
		//bin_number ToBin(); //number als Binärzahl zurückgeben
		//hex_number ToHex(); //number als HexZahl zurückgeben
		//oct_number ToOct(); //number als OctZahl zurückgeben
	};
};
</code></pre>
<p>Gruß Speedy_92</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590846</guid><dc:creator><![CDATA[Speedy_92]]></dc:creator><pubDate>Tue, 30 Sep 2008 12:24:49 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 12:37:12 GMT]]></title><description><![CDATA[<p>Joa, sieht okay aus, was aber nicht viel heißt, da wir die Implementierung ja nicht sehen können. Aber ganz ehrlich ich würde das mit dem eigenen Typen definieren sein lassen. Ich finde das einfach nur verwirrend, lass den int einen int sein und gut ist, denn den datentyp kennt jeder, dec_number aber nicht.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590857</guid><dc:creator><![CDATA[Ganz nett]]></dc:creator><pubDate>Tue, 30 Sep 2008 12:37:12 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 12:39:08 GMT]]></title><description><![CDATA[<p>Speedy_92 schrieb:</p>
<blockquote>
<p>also <strong>seit</strong> bitte nicht zuuu hart zu mir, aber lasst es Kritik hageln <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="😉"
    /></p>
</blockquote>
<p>Hm, okay... erster Kritikpunkt: <a href="http://www.seitseid.de" rel="nofollow">www.seitseid.de</a></p>
<p>Aber nun zur Sache:</p>
<blockquote>
<pre><code class="language-cpp">#include &lt;sstream&gt;
#include &lt;string&gt;
</code></pre>
</blockquote>
<p>ich sehe nicht dass du in der Klassendefinition irgendwo einen string benutzt. Daher ist der include unnötig. Zum stringstream sag ich später noch was. Solltest du eine der Klassen bei der Implementierung der Methoden brauchen, reicht es, die Header in der.cpp einzubinden.</p>
<blockquote>
<pre><code class="language-cpp">//Im C++-Primer stand, dass man für jede seiner Klassen möglichst eigene Typen
	//mittels typedef definieren sollte, also habe ich das gemacht :)
	typedef int dec_number;
</code></pre>
</blockquote>
<p>Stand da auch dass die typedefs einfach in den umgebenden namespace geschmissen werden sollten? Ich würds eher in die Klasse packen.</p>
<blockquote>
<pre><code class="language-cpp">dec_number number;
		std::stringstream ss_number; //Hier wird dann halt von dec_number(int) in die 
								//anderen Typen, wie bin_number(std::string) umgewandelt
</code></pre>
</blockquote>
<p>Objekte, die du nur für die Umwandlungen (oder allgemein nur für die Implementierung einzelner Methoden) brauchst, solltest du nur lokal in den entsprechenden Methoden benutzen. Der stringstream hat nichts mit dem internen Zustand der Decimal-Objekte zu tun sondern ist nur eine Hilfsvariable.</p>
<blockquote>
<pre><code class="language-cpp">Decimal(const dec_number &amp;number);
</code></pre>
</blockquote>
<p>Objekte kleiner Typen (z.B. alle eingebauten Typen, also auch int) per Referenz zu übergeben ist zwar möglich, aber allgemein nicht üblich. Die Übergabe per const-Referenz spart zwar eine Kopie des jeweiligen Objekts, allerdings muss die Referenz (intern meist ein Zeiger) erstellt und bei jedem Zugriff dereferenziert werden. Das ist bei kleinen Datentypen teurer als eine Kopie.</p>
<blockquote>
<pre><code class="language-cpp">bool SetDecimal(); //Die Dezimalzahl setzen
</code></pre>
</blockquote>
<p>Welchen Sinn hat diese Funktion ohne Argument? In diesem Fall kannst du auch gleich op= benutzen, wenn du einem Decimal Objekt einen int-Wert zuweisen willst. der nicht-explizite Ctor Decimal(int) ermöglicht das.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590860</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 30 Sep 2008 12:39:08 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 12:40:51 GMT]]></title><description><![CDATA[<p>Okay, sieht nicht schlecht aus <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="🙂"
    /><br />
Trotzdem einige Anmerkungen, sind eher kleine Dinge und teilweise auch Geschmackssache:</p>
<pre><code class="language-cpp">namespace Numbers // vielleicht zu wenig aussagekräftig, besser Number(ing)System oder so...
{
    // Das finde ich irgendwie übertrieben, aber kann man schon lassen, 
    // zumal der int ja nicht wirklich wie &quot;normale&quot; ints behandelt wird...
    // Aber dec_number könnte Verwirrung stiften, da nicht klar ist, was gemeint ist
	typedef int dec_number; 

	class Decimal
	{
	private:
        // würde ich nicht als Member, sondern eher lokal in Funktionen
        // benutzen, da es ja nur bei Umwandlungen benötigt wird.
		std::stringstream ss_number; 

	public:
        // braucht es die Grossen Drei?
		Decimal(const Decimal &amp;decimal);
		~Decimal();
		Decimal&amp; Numbers::Decimal::operator=(const Decimal &amp;number);

        // Dieser bool-Rückgabewert erinnert mich an C-Fehlerbehandlung ;)
        // Wo ist eigentlich der Parameter für den neuen Wert?
		bool SetDecimal();
	};
};   // kein Strichpunkt nötig
</code></pre>
<p>Edit: Grr, wieder mal zu langsam... Ich hoffe, irgendetwas wurde noch nicht gesagt :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590861</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 30 Sep 2008 12:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 13:30:31 GMT]]></title><description><![CDATA[<p>Vielen Dank,<br />
ach das mit dem</p>
<pre><code class="language-cpp">bool SetDecimal();
</code></pre>
<p>wär mir denke ich spätestens bei der Implementierung aufgefallen <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>Also ich persönlich finde es auch sehr schwachsinnig mit den typedefs, aber ich habe gedacht, da es im &quot;Großen Primer&quot; steht, kann es ja nicht verkehrt sein <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="😉"
    /></p>
<p>Und das mit den namespaces werde ich auch mal fix ändern x)</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590885</guid><dc:creator><![CDATA[Speedy_92]]></dc:creator><pubDate>Tue, 30 Sep 2008 13:30:31 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 13:49:33 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>// Dieser bool-Rückgabewert erinnert mich an C-Fehlerbehandlung <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="😉"
    /></p>
</blockquote>
<p>äähhmm... wie macht man das denn in C++?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590895</guid><dc:creator><![CDATA[Speedy_92]]></dc:creator><pubDate>Tue, 30 Sep 2008 13:49:33 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 13:50:39 GMT]]></title><description><![CDATA[<p>Was soll der Sinn und Zweck solcher Klassen sein? Erst, wenn wir das wissen, können wir sie richtig beurteilen. Die Represäntation (binär, dezimal, oktal, ...) ist normalarweise nur für die Ausgabe wichtig. Man muss nicht zwischen Dezimalen und Oktalen Zahlen konvertieren können, da sie ja alle binär dargestellt werden. Nur beim Konvertieren von und zu string macht so etwas Sinn.</p>
<p>Gruß<br />
Don06</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590898</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Tue, 30 Sep 2008 13:50:39 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 13:54:02 GMT]]></title><description><![CDATA[<p>Don06 schrieb:</p>
<blockquote>
<p>Was soll der Sinn und Zweck solcher Klassen sein? Erst, wenn wir das wissen, können wir sie richtig beurteilen. Die Represäntation (binär, dezimal, oktal, ...) ist normalarweise nur für die Ausgabe wichtig. Man muss nicht zwischen Dezimalen und Oktalen Zahlen konvertieren können, da sie ja alle binär dargestellt werden. Nur beim Konvertieren von und zu string macht so etwas Sinn.</p>
<p>Gruß<br />
Don06</p>
</blockquote>
<p>Diese Klasse(n) war(en) ja eigentlich nur dazu gedacht um mal eine (gutstrukturierte) Klasse zu erstellen. Für mich ist der einzige Nutzen dieser Klasse(n) der Lerneffekt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1590903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590903</guid><dc:creator><![CDATA[Speedy_92]]></dc:creator><pubDate>Tue, 30 Sep 2008 13:54:02 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 13:59:29 GMT]]></title><description><![CDATA[<blockquote>
<p>äähhmm... wie macht man das denn in C++?</p>
</blockquote>
<p>z.B. mit Exceptions.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590909</guid><dc:creator><![CDATA[JustAnotherNoob]]></dc:creator><pubDate>Tue, 30 Sep 2008 13:59:29 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 14:54:58 GMT]]></title><description><![CDATA[<p>Speedy_92 schrieb:</p>
<blockquote>
<p>äähhmm... wie macht man das denn in C++?</p>
</blockquote>
<p>Wie gesagt mit Exceptions, wobei das bei Settern für skalare Typen ziemlich übertrieben wäre.</p>
<p>Was mich aber interessieren würde: Wie hättest du die Fehlerabfrage mit <code>bool</code> implementiert? <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1590953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590953</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 30 Sep 2008 14:54:58 GMT</pubDate></item><item><title><![CDATA[Reply to Was haltet ihr von meiner Klasse? on Tue, 30 Sep 2008 14:58:08 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Speedy_92 schrieb:</p>
<blockquote>
<p>äähhmm... wie macht man das denn in C++?</p>
</blockquote>
<p>Wie gesagt mit Exceptions, wobei das bei Settern für skalare Typen ziemlich übertrieben wäre.</p>
<p>Was mich aber interessieren würde: Wie hättest du die Fehlerabfrage mit <code>bool</code> implementiert? <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="😉"
    /></p>
</blockquote>
<p>Das hätte ich mir bei der Implementierung dann überlegt <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/1590959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1590959</guid><dc:creator><![CDATA[Speedy_92]]></dc:creator><pubDate>Tue, 30 Sep 2008 14:58:08 GMT</pubDate></item></channel></rss>