<?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[eigener dateentyp]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab ein Programm, das mit großen oder risiegem ZAhlen rechnen soll.<br />
Jetzt ist aber das Problem, wie kann ich einen eigenen datentyp erstellen, der genügend speicher enthält um größere daten als long zu speichern.</p>
<p>gruß gucky</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/276806/eigener-dateentyp</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 01:43:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276806.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Nov 2010 15:31:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 15:31:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab ein Programm, das mit großen oder risiegem ZAhlen rechnen soll.<br />
Jetzt ist aber das Problem, wie kann ich einen eigenen datentyp erstellen, der genügend speicher enthält um größere daten als long zu speichern.</p>
<p>gruß gucky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977348</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Mon, 08 Nov 2010 15:31:37 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 15:34:35 GMT]]></title><description><![CDATA[<p>Erfinde das Rad nicht neu...</p>
<p><a href="http://gmplib.org/" rel="nofollow">http://gmplib.org/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977350</guid><dc:creator><![CDATA[Gucky - responder]]></dc:creator><pubDate>Mon, 08 Nov 2010 15:34:35 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 15:42:29 GMT]]></title><description><![CDATA[<p>Wenn du trotzdem den Meißel rausholen willst um ein viereckiges Rad aus Granit zu hämmern:</p>
<pre><code class="language-cpp">class BigNum
{
 private:
 vector&lt;unsigned long&gt; ziffern;
 bool sign;
};
</code></pre>
<p>Dies als Grundgerüst. Und dann die üblichen Rechenoperatoren implementieren, zuerst einmal so wie in der Grundschule, später schaust du dann in ein Algorithmenbuch nach effizienten Sachen (wobei die Grundschulmethoden schon nicht so schlecht sind). Dann noch Konvertierungsoperatoren für die gängigen Integerwerte schreiben, damit es komfortabel zu benutzen ist. Und einen Ausgabe- und Eingabeoperator. Und wenn es edel sein soll noch Überladungen für die Funktionen aus der cmath. Und dann hast du schon etwas ziemlich gutes.</p>
<p>edit: Semikolon nach class vergessen. Peinlich. Ich komme mir schon vor wie ein gewisser Buchautor <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/1977358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977358</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Nov 2010 15:42:29 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 15:59:05 GMT]]></title><description><![CDATA[<p>ok hier hab ich mal was probiert:</p>
<pre><code class="language-cpp">void addieren(vector&lt;unsigned long&gt; v1, vector&lt;unsigned long&gt; v2)
{
  loop = 0;

  while (loop &lt;= v1.size() || loop &lt;= v2.size())
  {
   ziffer[loop] = v1[loop] + v2[loop];
  }
}
</code></pre>
<p>Dazu noch zwei fragen: 1. könnte ich die vectoren auch als referenzen übergeben?<br />
und 2. wie kann ich einen vector zurückgeben lassen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977370</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Mon, 08 Nov 2010 15:59:05 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 16:02:55 GMT]]></title><description><![CDATA[<p>Gucky schrieb:</p>
<blockquote>
<p>Dazu noch zwei fragen: 1. könnte ich die vectoren auch als referenzen übergeben?</p>
</blockquote>
<p>Klar, warum nicht? Ist sogar eine gute Idee. Aber korrekterweise natürlich als const-Referenz, weil du die vectoren nicht veränderst</p>
<blockquote>
<p>und 2. wie kann ich einen vector zurückgeben lassen?</p>
</blockquote>
<p>Wie jeden anderen Datentyp auch.</p>
<p>Wieso machst du eigentlich so eine Frickelei mit freien Funktionen die auf vectoren operieren? Das Problem schreit geradezu nach einem Objektorientierten Ansatz.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977374</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Nov 2010 16:02:55 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 16:13:52 GMT]]></title><description><![CDATA[<p>also so?</p>
<pre><code class="language-cpp">vector addieren(const vector&lt;unsigned long&gt;&amp; v1, const vector&lt;unsigned long&gt;&amp; v2)
{
  loop = 0;

  while (loop &lt;= v1.size() || loop &lt;= v2.size())
  {
   ziffer[loop] = v1[loop] + v2[loop];
  }
 return vector ziffern;
}
</code></pre>
<p>und was meinst du mit:</p>
<blockquote>
<p>Wieso machst du eigentlich so eine Frickelei mit freien Funktionen die auf vectoren operieren? Das Problem schreit geradezu nach einem Objektorientierten Ansatz.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1977378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977378</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Mon, 08 Nov 2010 16:13:52 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 16:17:32 GMT]]></title><description><![CDATA[<p>Gucky schrieb:</p>
<blockquote>
<p>also so?</p>
<pre><code class="language-cpp">vector addieren(vector&lt;unsigned long&gt; v1, vector&lt;unsigned long&gt; v2)
{
  loop = 0;
  
  while (loop &lt;= v1.size() || loop &lt;= v2.size())
  {
   ziffer[loop] = v1[loop] + v2[loop];
  }
 return vector ziffern;
}
</code></pre>
</blockquote>
<p>Der Datentyp heißt <code>vector&lt;unsigned long&gt;</code> . Ein <code>vector</code> ist bloß eine Schablone (engl. Template) nach der mehr solche Datentypen gebaut werden können. Und dein Funktionskörper ist einfach nur wirr. Nochmal: <code>vector&lt;unsigned long&gt;</code> ist ein ganz normaler Datentyp wie jeder andere auch. Stell dir vor, du hättest stattdessen <code>int</code> als Datentyp. Würdest du dann das Programm so schreiben? Wohl kaum.</p>
<blockquote>
<p>und was meinst du mit:</p>
<blockquote>
<p>Wieso machst du eigentlich so eine Frickelei mit freien Funktionen die auf vectoren operieren? Das Problem schreit geradezu nach einem Objektorientierten Ansatz.</p>
</blockquote>
</blockquote>
<p>Das was da steht. Was verstehst du nicht? Du schreibst doch selber in deiner Überschrift, dass du einen eigenen Datentyp möchtest. Stattdessen fängst du jetzt aber mit einen prozeduralen Ansatz an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977382</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977382</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Nov 2010 16:17:32 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 16:21:38 GMT]]></title><description><![CDATA[<p>Gucky schrieb:</p>
<blockquote>
<p>also so?</p>
<pre><code class="language-cpp">vector addieren(const vector&lt;unsigned long&gt;&amp; v1, const vector&lt;unsigned long&gt;&amp; v2)
</code></pre>
</blockquote>
<p>Wenn dann schon vector&lt;unsigned long&gt; und nicht einfach nur vector. Das mit den Funktionen, die Dinge zurückgeben, musst Du wohl nochmal im C++ Buch Deiner Wahl nachholen. Bei dem Tempo wird das auch erstmal nichts mit einer eigenen &quot;big integer library&quot;. Nimm doch einfach GMP.</p>
<p>Gucky schrieb:</p>
<blockquote>
<p>und was meinst du mit:</p>
<blockquote>
<p>Wieso machst du eigentlich so eine Frickelei mit freien Funktionen die auf vectoren operieren? Das Problem schreit geradezu nach einem Objektorientierten Ansatz.</p>
</blockquote>
</blockquote>
<p>...dass Du einen eigenen Typen definieren sollst statt vector&lt;int&gt; <em>direkt</em> zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977392</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 08 Nov 2010 16:21:38 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 16:28:18 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>lies den Artikel durch: <a href="http://c-plusplus.net/forum/232010" rel="nofollow">http://c-plusplus.net/forum/232010</a></p>
<p>Thingol <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/1977397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977397</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 08 Nov 2010 16:28:18 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 19:35:41 GMT]]></title><description><![CDATA[<p>so hier noch mal was, aber es klappt nicht</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

class BigNum
{
 BigNum () { vector&lt;unsigned long&gt; ziffern;}
 BigNum operator+ (const vector&lt;unsigned long&gt;&amp; v1, const vector&lt;unsigned long&gt;&amp; v2) const
 {
   ziffern = v1;
   return ziffern += v2;
 }

 private:
 vector&lt;unsigned long&gt; ziffern;
};
</code></pre>
<p>Die Velermeldungen lauten:</p>
<pre><code>&quot;grosse_zahlen.cpp&quot;: E2080 'BigNum::operator +(const vector&lt;unsigned long,allocator&lt;unsigned long&gt; &gt; &amp;,const vector&lt;unsigned long,allocator&lt;unsigned long&gt; &gt; &amp;) const' muß mit einem Parameter deklariert werden in Zeile 9
&quot;grosse_zahlen.cpp&quot;: E2285 Keine Übereinstimmung für 'vector&lt;unsigned long,allocator&lt;unsigned long&gt; &gt;::operator =(const vector&lt;unsigned long,allocator&lt;unsigned long&gt; &gt;)' gefunden in Funktion BigNum::operator +(const vector&lt;unsigned long,allocator&lt;unsigned long&gt; &gt; &amp;,const vector&lt;unsigned long,allocator&lt;unsigned long&gt; &gt; &amp;) const in Zeile 10
&quot;grosse_zahlen.cpp&quot;: E2093 'operator+=' ist im Typ 'vector&lt;unsigned long,allocator&lt;unsigned long&gt; &gt;' für Argumente desselben Typs nicht implementiert in Funktion BigNum::operator +(const vector&lt;unsigned long,allocator&lt;unsigned long&gt; &gt; &amp;,const vector&lt;unsigned long,allocator&lt;unsigned long&gt; &gt; &amp;) const in Zeile 11
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1977499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977499</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Mon, 08 Nov 2010 19:35:41 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 19:40:59 GMT]]></title><description><![CDATA[<p>Gucky schrieb:</p>
<blockquote>
<p>Velermeldungen</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Schau dir den <a href="http://magazin.c-plusplus.net/artikel/%DCberladung%20von%20Operatoren%20in%20CPlusPlus%20%28Teil%201%29" rel="nofollow">Artikel über Operatorüberladung</a> an. Dort wird erklärt, wie die Operatoren üblicherweise überladen werden.</p>
<p>Übrigens: Der Rumpf deines Konstruktors enthält eine sinnlose Deklaration.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977503</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 08 Nov 2010 19:40:59 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 19:46:24 GMT]]></title><description><![CDATA[<p>Okay, du willst es wirklich selber probieren, das ist ja auch in Ordnung.<br />
Aber wie wäre es, wenn du statt des <code>vector&lt;unsinged long&gt;</code> vielleicht erst einmal ein <code>vector&lt;char&gt;</code> nimmst. Jeder char stellt eine Ziffer dar. Es ist natürlich schon Verschwendung, da pro Ziffer normalerweise nur 4 Bit benötigt werden, aber dies ist definitiv der einfachste Weg, seine eigene BigInt-Bibiothek zu schreiben. Später, wenn die Grundprinzipien verstanden wurden, kann es entweder umgeschrieben oder auf vorgefertigte Lösungen umgestiegen werden.<br />
PS: Velermeldungen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977509</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Mon, 08 Nov 2010 19:46:24 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 19:52:10 GMT]]></title><description><![CDATA[<p>Vicious Falcon schrieb:</p>
<blockquote>
<p>da pro Ziffer normalerweise nur 4 Bit benötigt werden,</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Willst du ihm etwa ein Zehnersystem empfehlen? unsigned long ist schon fein. Eventuell auch unsigned int, weil dies der native Datentyp des System sein 'sollte'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977512</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Nov 2010 19:52:10 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 20:02:59 GMT]]></title><description><![CDATA[<p>Nein*, empfehlen würde ich eine Klasse Digit, die vieles intern regelt.<br />
Und einen vector&lt;Digit&gt; / eine deque&lt;Digit&gt;.<br />
Und ja, das Dezimalsystem ist für Lernzwecke deshalb geeignet, da man das Rechnen in diesem System bereits in der Grundschule gelernt hat. Ich habe das so mal vor einiger Zeit gemacht, es läuft wunderbar, mittlerweile mit 32 Bit-Werten, die jeweils 8 Ziffern verwalten.</p>
<p>Edit: hier müsste ein Ja stehen :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1977519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977519</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Mon, 08 Nov 2010 20:02:59 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 20:14:51 GMT]]></title><description><![CDATA[<blockquote>
<p>Und ja, das Dezimalsystem ist für Lernzwecke deshalb geeignet, da man das Rechnen in diesem System bereits in der Grundschule gelernt hat.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Aber so ist das doch komplizierter als das native Format des Computers. Beim Dezimalsystem muss man Überläufe abfragen, bei meinem Vorschlag kann man die Überlaufeigenschaften der unsigned Arithmetik benutzen.</p>
<p>edit: Oder mir ist einfach nicht bewusst, wie schwer sich andere Leute tun, in anderen Zahlensystemen zu denken. <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/1977524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977524</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Nov 2010 20:14:51 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 20:30:47 GMT]]></title><description><![CDATA[<p>Ich habe es (auch) deshalb gemacht, da man wirklich große Zahlen mit einem string initialisieren (können) muss. Wie geschrieben, es ist schon eine Zeit her.</p>
<pre><code class="language-cpp">Number n1(&quot;15615616156156187784567894864564984894564984984894988749849489489&quot;);
Number n2(&quot;789789456156494894894894778978974894984747894841512648945612318461231894198156&quot;);
Number n3(n1*n2);
n3*=10232432;
cout &lt;&lt; n3.AsString()&lt;&lt;endl;
</code></pre>
<p>führt zur Ausgabe</p>
<pre><code>126.197.085.158.388.492.014.666.574.562.203.133.663.511.929.310.329.751.922.123.
787.558.339.601.204.496.112.549.724.891.672.688.735.968.565.347.887.471.606.416.
213.047.981.388.928.182.870.568.634.688
</code></pre>
<p>Es gibt viele Wege, aber selbst auf meinem Uralt-Notebook geht dies (Compiler sei natürlich Dank) ohne spürbare Wartezeit.</p>
<p>Edit: Wer so etwas macht, hat (wie ich) die Notwendigkeit von so großen Zahlen völlig überschätzt <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/1977530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977530</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Mon, 08 Nov 2010 20:30:47 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 21:08:45 GMT]]></title><description><![CDATA[<p>Vicious Falcon schrieb:</p>
<blockquote>
<p>Wer so etwas macht, hat (wie ich) die Notwendigkeit von so großen Zahlen völlig überschätzt <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>
</blockquote>
<p>Größenwahn quasi <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/1977546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977546</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Mon, 08 Nov 2010 21:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Mon, 08 Nov 2010 21:39:53 GMT]]></title><description><![CDATA[<p>HighLigerBiMBam schrieb:</p>
<blockquote>
<p>Größenwahn quasi <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>
</blockquote>
<p>ROFL <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/1977561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1977561</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Mon, 08 Nov 2010 21:39:53 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Wed, 10 Nov 2010 17:51:52 GMT]]></title><description><![CDATA[<p>so nochmal</p>
<pre><code class="language-cpp">class BigNum 
{
	const BigNum operator+(BigNum const&amp; lhs, BigNum const&amp; rhs)
	{
		BigNum tmp(lhs); //Kopie des linken Operanden 
		tmp += rhs; //Implementierung mittels des +=-Operators 
		return tmp; 
	}
};
</code></pre>
<p>wobei aber mein compiler sagt, dass dem operator zu viele parameter übergeben werden <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/1978610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978610</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Wed, 10 Nov 2010 17:51:52 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Wed, 10 Nov 2010 17:59:09 GMT]]></title><description><![CDATA[<p>ist auch logisch, weil du innerhalb der Klasse einem Operator immer nur rhs (du hast rhs und THIS!) übergeben musst. Wenn du zwei parameter brauchst musst du die Überladung friend machen, oder besser außerhalb der Klasse deklarieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1978615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978615</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Wed, 10 Nov 2010 17:59:09 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Wed, 10 Nov 2010 18:02:25 GMT]]></title><description><![CDATA[<p>aber wieso schreiben die das dann so hier?</p>
<pre><code class="language-cpp">Übliche Implementierung:
C/C++ Code: 
const X operator+(X const&amp; lhs, X const&amp; rhs) 
{ 
  /* Erzeugen eines neuen Objektes, dessen Attribute gezielt einzeln gesetzt werden. Oder: */ 
  X tmp(lhs); //Kopie des linken Operanden 
  tmp += rhs; //Implementierung mittels des +=-Operators 
  return tmp; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1978617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978617</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Wed, 10 Nov 2010 18:02:25 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Wed, 10 Nov 2010 18:03:46 GMT]]></title><description><![CDATA[<p>Ja außerhalb der Klasse!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1978619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978619</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Wed, 10 Nov 2010 18:03:46 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Wed, 10 Nov 2010 18:27:42 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class BigNum 
{ 
public:
 vector&lt;unsigned long&gt; ziffern; 
 bool sign; 
}; 

BigNum operator+(BigNum const&amp; lhs, BigNum const&amp; rhs)
{
	BigNum tmp(lhs); //Kopie des linken Operanden 
	tmp = rhs + lhs; //Implementierung mittels des +=-Operators 
	return tmp; 
}
</code></pre>
<p>jetzt kommt es nur noch zu einem speicherüberfluss (warum weiß eich nicht) und ich kann nicht über einen konstruktor normal werte an ziffern übergeben.<br />
Kann mir jemand sagen wie das geht bzw. wie ich vector als schablone für meinen eigenen datentyp benutzten kann??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1978633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978633</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Wed, 10 Nov 2010 18:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Wed, 10 Nov 2010 18:29:54 GMT]]></title><description><![CDATA[<p>rhs + lhs das kann nicht klappen, du rfust ja den selben Operator REKURSIV auf. Du musst schon Methoden oder Werte zusammenrechnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1978634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978634</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Wed, 10 Nov 2010 18:29:54 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Wed, 10 Nov 2010 18:37:34 GMT]]></title><description><![CDATA[<p>Dann mußt Du auch += schreiben.</p>
<pre><code class="language-cpp">BigNum operator+(BigNum const&amp; lhs, BigNum const&amp; rhs)
{
	BigNum tmp(lhs); //Kopie des linken Operanden 
	tmp += rhs; //Implementierung mittels des +=-Operators 
	return tmp; 
}
</code></pre>
<blockquote>
<p>jetzt kommt es nur noch zu einem speicherüberfluss</p>
</blockquote>
<p>Will ich auch haben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1978638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978638</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 10 Nov 2010 18:37:34 GMT</pubDate></item><item><title><![CDATA[Reply to eigener dateentyp on Wed, 10 Nov 2010 18:41:43 GMT]]></title><description><![CDATA[<p>Speicher im Überfluss ist immer gut :), ich frag mich aber dann nur, wie sein += Operator aussieht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1978639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1978639</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Wed, 10 Nov 2010 18:41:43 GMT</pubDate></item></channel></rss>