<?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[map als Speicher ?!?!]]></title><description><![CDATA[<p>Jaja ich weiß &quot;Nicht der Noob schon wieder&quot;, aber da ihr mir bis jetzt schon so gut helfen konntet komm ich auch mit dieser Frage zu euch <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>Ich hab zur Übung ein Banksystem zusammengebastelt, und hab das in viele verschiedene Klassen zerlegt (Konto, myBank etc). Nun will ich die Konten in myBank in einer map abspeichern, bekomm es aber nicht hin das die map sozusagen ein Teil des myBank-Objekts ist ...</p>
<p>Wenn ich im myBank-Konstruktor eine map anlege kennt er diese trotzdem in keiner anderen Methode etc. ...</p>
<p>Könnt ihr mir grob erklären wie ich die map sozusagen zu einem Bestandteil von myBank mache?</p>
<p>Thx!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/117709/map-als-speicher</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 03:49:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/117709.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Aug 2005 14:19:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 14:19:51 GMT]]></title><description><![CDATA[<p>Jaja ich weiß &quot;Nicht der Noob schon wieder&quot;, aber da ihr mir bis jetzt schon so gut helfen konntet komm ich auch mit dieser Frage zu euch <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>Ich hab zur Übung ein Banksystem zusammengebastelt, und hab das in viele verschiedene Klassen zerlegt (Konto, myBank etc). Nun will ich die Konten in myBank in einer map abspeichern, bekomm es aber nicht hin das die map sozusagen ein Teil des myBank-Objekts ist ...</p>
<p>Wenn ich im myBank-Konstruktor eine map anlege kennt er diese trotzdem in keiner anderen Methode etc. ...</p>
<p>Könnt ihr mir grob erklären wie ich die map sozusagen zu einem Bestandteil von myBank mache?</p>
<p>Thx!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849471</guid><dc:creator><![CDATA[carnage]]></dc:creator><pubDate>Wed, 10 Aug 2005 14:19:51 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 14:36:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class myBank {
public:
   myBank();
   ...
protected:
   map&lt;long, Konto&gt; dieKonten;
};
</code></pre>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849502</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Wed, 10 Aug 2005 14:36:31 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 15:08:20 GMT]]></title><description><![CDATA[<p>Dachte ich mir, bekomme aber trotzdem wenn ich in einer anderen Methode von mybank mit</p>
<pre><code class="language-cpp">db.insert(Kontonummer, gk);
</code></pre>
<p>etwas in die map einfügen will diese riesen Fehler ...</p>
<blockquote>
<p>In member function <code>Bank::Girokonto&amp; Bank::MyBank::createGirokonto(unsigned int, const Bank::Kunde&amp;)': no matching function for call to</code>std::map&lt;const unsigned int, Bank::Konto*, std::less&lt;const unsigned int&gt;, std::allocator&lt;std::pair&lt;const unsigned int, Bank::Konto*&gt; &gt; &gt;::insert(const unsigned int&amp;, Bank::Girokonto*&amp;)'<br />
note: candidates are: std::pair&lt;typename std::_Rb_tree&lt;_Key, std::pair&lt;const _Key, _Tp&gt;, std::_Select1st&lt;std::pair&lt;const _Key, _Tp&gt; &gt;, _Compare, _Alloc&gt;::iterator, bool&gt; std::map&lt;_Key, _Tp, _Compare, _Alloc&gt;::insert(const std::pair&lt;const _Key, _Tp&gt;&amp;) [with _Key = const unsigned int, _Tp = Bank::Konto*, _Compare = std::less&lt;const unsigned int&gt;, _Alloc = std::allocator&lt;std::pair&lt;const unsigned int, Bank::Konto*&gt; &gt;]<br />
note: typename std::_Rb_tree&lt;_Key, std::pair&lt;const _Key, _Tp&gt;, std::_Select1st&lt;std::pair&lt;const _Key, _Tp&gt; &gt;, _Compare, _Alloc&gt;::iterator std::map&lt;_Key, _Tp, _Compare, _Alloc&gt;::insert(typename std::_Rb_tree&lt;_Key, std::pair&lt;const _Key, _Tp&gt;, std::_Select1st&lt;std::pair&lt;const _Key, _Tp&gt; &gt;, _Compare, _Alloc&gt;::iterator, const std::pair&lt;const _Key, _Tp&gt;&amp;) [with _Key = const unsigned int, _Tp = Bank::Konto*, _Compare = std::less&lt;const unsigned int&gt;, _Alloc = std::allocator&lt;std::pair&lt;const unsigned int, Bank::Konto*&gt; &gt;]</p>
</blockquote>
<p>Was bedeutet das überhaupt ??? <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/849537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849537</guid><dc:creator><![CDATA[carnage]]></dc:creator><pubDate>Wed, 10 Aug 2005 15:08:20 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 15:15:31 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Von welchen Typ ist denn gk? Deine map erwartet einen Pointer auf Bank::Konto.</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849544</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 10 Aug 2005 15:15:31 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 15:31:33 GMT]]></title><description><![CDATA[<p>gk ist nen Zeiger auf ne Unterklasse von Konto nämlich Girokonto sollte also funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849566</guid><dc:creator><![CDATA[carnage]]></dc:creator><pubDate>Wed, 10 Aug 2005 15:31:33 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 15:34:45 GMT]]></title><description><![CDATA[<p>Ein wenig mehr Code wäre jetzt hilfreich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849572</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 10 Aug 2005 15:34:45 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 15:54:31 GMT]]></title><description><![CDATA[<p>carnage schrieb:</p>
<blockquote>
<p>Dachte ich mir, bekomme aber trotzdem wenn ich in einer anderen Methode von mybank mit</p>
<pre><code class="language-cpp">db.insert(Kontonummer, gk);
</code></pre>
<p>etwas in die map einfügen will diese riesen Fehler ...</p>
<blockquote>
<p>In member function <code>Bank::Girokonto&amp; Bank::MyBank::createGirokonto(unsigned int, const Bank::Kunde&amp;)': **no matching function for call** to</code>std::map&lt;const unsigned int, Bank::Konto*, std::less&lt;const unsigned int&gt;, std::allocator&lt;std::pair&lt;const unsigned int, Bank::Konto*&gt; &gt; &gt;::insert(const unsigned int&amp;, Bank::Girokonto*&amp;)'<br />
<strong>note: candidates are:</strong> std::pair&lt;typename std::_Rb_tree&lt;_Key, std::pair&lt;const _Key, _Tp&gt;, std::_Select1st&lt;std::pair&lt;const _Key, _Tp&gt; &gt;, _Compare, _Alloc&gt;::iterator, bool&gt; std::map&lt;_Key, _Tp, _Compare, _Alloc&gt;::insert(const std::pair&lt;const _Key, _Tp&gt;&amp;) [with _Key = const unsigned int, _Tp = Bank::Konto*, _Compare = std::less&lt;const unsigned int&gt;, _Alloc = std::allocator&lt;std::pair&lt;const unsigned int, Bank::Konto*&gt; &gt;]<br />
note: typename std::_Rb_tree&lt;_Key, std::pair&lt;const _Key, _Tp&gt;, std::_Select1st&lt;std::pair&lt;const _Key, _Tp&gt; &gt;, _Compare, _Alloc&gt;::iterator std::map&lt;_Key, _Tp, _Compare, _Alloc&gt;::insert(typename std::_Rb_tree&lt;_Key, std::pair&lt;const _Key, _Tp&gt;, std::_Select1st&lt;std::pair&lt;const _Key, _Tp&gt; &gt;, _Compare, _Alloc&gt;::iterator, const std::pair&lt;const _Key, _Tp&gt;&amp;) [with _Key = const unsigned int, _Tp = Bank::Konto*, _Compare = std::less&lt;const unsigned int&gt;, _Alloc = std::allocator&lt;std::pair&lt;const unsigned int, Bank::Konto*&gt; &gt;]</p>
</blockquote>
<p>Was bedeutet das überhaupt ??? <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>
</blockquote>
<p>Bedeutet dass es die Methode die du aufrufen willst nicht gibt (Parameter)... sieht durch die ganzen Templates ein wenig kryptisch aus.</p>
<p>Du suchst</p>
<pre><code class="language-cpp">db.insert(make_pair(Kontonummer, gk));
// (fuegt nur ein wenn zum key_type noch nichts in der map steht,
//  Erfolg nachzulesen im zurueckgegebenen pair.second)

// oder
db[Kontonummer] = gk;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/849594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849594</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Wed, 10 Aug 2005 15:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 16:05:30 GMT]]></title><description><![CDATA[<p>Bitteschön;-)</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

#include &quot;mybank.h&quot;

using namespace std;

namespace Bank
{
   MyBank::MyBank()
   {}

   Girokonto&amp; MyBank::createGirokonto(unsigned const int Kontonummer, const Kunde&amp; k)
   {
      Girokonto* gk = new Girokonto(Kontonummer,k);
      Konto* ko;
	  ko = gk;// abspeichern der Verweises auf das Konto
      db.insert(Kontonummer, ko);
      return *gk;
   }
   Sparkonto&amp; MyBank::createSparkonto(unsigned const int Kontonummer, const Kunde&amp; k)
   {
      Sparkonto* spk = new Sparkonto(Kontonummer,k);
      // abspeichern der Verweises auf das Konto
      db.insert(Kontonummer, spk);
      return *spk;
   }
   // Ueberweisung innerhalb der Bank
   // BankException, wenn Ueberweisung nicht erfolgreich
   void MyBank::ueberweisen(Konto&amp; k1, Konto&amp; k2, int betragInCent) throw (BankException)
   {
      k1.auszahlen(betragInCent);
      k2.einzahlen(betragInCent);
   }
   // Ueberweisung innerhalb der Bank
   // BankException, wenn Ueberweisung nicht erfolgreich
   void MyBank::ueberweisen(int kontoNummer1, int kontoNummer2 , unsigned int betragInCent) throw (BankException)
   {
      if (kontoNummer1 &lt; 0) throw BankException(&quot;Ungueltige kontonummer1&quot;);
      if (kontoNummer2 &lt; 0) throw BankException(&quot;Ungueltige kontonummer2&quot;);
      db[kontoNummer1]-&gt;auszahlen(betragInCent);
      db[kontoNummer2]-&gt;einzahlen(betragInCent);
   }
   MyBank::~MyBank()
   {}

}
</code></pre>
<p>Deklarationen etc stehen in der myBank.h ...<br />
achja und da steht auch std::map&lt;unsigned const int, Konto*&gt; db; drin als Attribut!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849598</guid><dc:creator><![CDATA[carnage]]></dc:creator><pubDate>Wed, 10 Aug 2005 16:05:30 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 16:24:04 GMT]]></title><description><![CDATA[<p>Wenn schon mit der insert-Methode, dann so:</p>
<pre><code class="language-cpp">db.insert (make_pair(Kontonummer, gk));
// oder
db.insert (pair&lt;long,Konto&gt; (Kontonummer, gk));
</code></pre>
<p>Die insert-Methode der Map erwartet ein pair-Objekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849613</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 10 Aug 2005 16:24:04 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 16:45:38 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>auch möglich wäre</p>
<pre><code class="language-cpp">typedef std::map&lt;dein_typ,nochn_typ&gt; my_map_t;

dein_typ A;
nochn_typ B;

my_map_t map_;
map_.insert(my_map_t::value_type(A,B));
</code></pre>
<p>Is aber im prinzip das selbe... ausser deine map hat auf einmal kein std::pair mehr als value_type .. dann würde der code trotzdem funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849628</guid><dc:creator><![CDATA[prolog]]></dc:creator><pubDate>Wed, 10 Aug 2005 16:45:38 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 16:49:12 GMT]]></title><description><![CDATA[<p>Danke <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="😉"
    /> Läuft jetzt alles !!!<br />
Aber wieso steht das nirgends das das so ist ??? Hab überall nachgeschaut aber das die pair erwartet wurde nirgends erwähnt ...<br />
Habt ihr nen allgemeinen Geheimtipp bezüglich C++-Informationen im Netz ... so ne Art ausführliche Referenz oder Kompendium ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849630</guid><dc:creator><![CDATA[carnage]]></dc:creator><pubDate>Wed, 10 Aug 2005 16:49:12 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Wed, 10 Aug 2005 17:07:40 GMT]]></title><description><![CDATA[<p>Also bei Fragen zur STL ist wohl das hier die Anlaufstelle:<br />
<a href="http://www.sgi.com/tech/stl/" rel="nofollow">http://www.sgi.com/tech/stl/</a></p>
<p>Ansonsten gibts hier auf der Seite doch auch ne Linkliste, oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849648</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Wed, 10 Aug 2005 17:07:40 GMT</pubDate></item><item><title><![CDATA[Reply to map als Speicher ?!?! on Thu, 11 Aug 2005 08:00:58 GMT]]></title><description><![CDATA[<p>Wenn du C++ &quot;Hobbymaessig betreibst&quot;, gehoert ein bisserl suchen im www halt dazu <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="🙂"
    /> iss eben nicht alles aufn 1. blick erreichbar ....</p>
<p>Wenn du C++ Handwerklich betreibst, gehoert ne gute STL referenz in gebundener Form neben den Arbeitsplatz, es sei denn du hasst aussergweohnlich viel Flash ROM am Kleinhirn, so dass alle informationen nach einmaligen suchen da abrufen kannst <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>grad bei algorythmen und bindings muss ich immer wieder nachschauen ... und dass jedesmal im www suchen, ausserdem sind die dokus da meist recht technisch enfach gehalten, nen konkretes beispiel iss viel schneller zu verarbeiten ...</p>
<p>&quot;Die C++ Standard Biblothek&quot; kann ich da nur empfehlen, gibt aber sicher alternativen ...</p>
<p>fuer dein Insert in der map wuerd ich fast immer version 3 empfehlen, also die Variante mit value_type. value_type iss nen typedef von der map auf den erwarteten pair typ. wenn mal die map aenderst, passts den pair zum inserten immer gleich mit an ...</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/849882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/849882</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Thu, 11 Aug 2005 08:00:58 GMT</pubDate></item></channel></rss>