<?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[Methodenaufruf eines variablen Objektes]]></title><description><![CDATA[<p>Hallo,</p>
<p>nehmen wir mal an methode1() ist eine methode einer beliebigen klasse. Wort1, Wort2, Wort3 usw sind objekte dieser klasse. Nun möchte ich wissen, ob folgendes funktioniert:</p>
<pre><code class="language-cpp">cin &gt;&gt; wort;
wort.methode1();
</code></pre>
<p>Also ob der user bestimmen kann, von welchem objekt methode1() aufgerufen wird?</p>
<p>Hab momentan ein etwas kompliziertes konstrukt mit einer map und switch/case. Würd das aber gern vereinfachen, wenn so etwas möglich ist. Habe nämlich ziemlich viele objekte...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204443/methodenaufruf-eines-variablen-objektes</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 13:22:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204443.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Feb 2008 13:51:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 13:51:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>nehmen wir mal an methode1() ist eine methode einer beliebigen klasse. Wort1, Wort2, Wort3 usw sind objekte dieser klasse. Nun möchte ich wissen, ob folgendes funktioniert:</p>
<pre><code class="language-cpp">cin &gt;&gt; wort;
wort.methode1();
</code></pre>
<p>Also ob der user bestimmen kann, von welchem objekt methode1() aufgerufen wird?</p>
<p>Hab momentan ein etwas kompliziertes konstrukt mit einer map und switch/case. Würd das aber gern vereinfachen, wenn so etwas möglich ist. Habe nämlich ziemlich viele objekte...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448478</guid><dc:creator><![CDATA[el primato]]></dc:creator><pubDate>Sun, 03 Feb 2008 13:51:48 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 15:02:32 GMT]]></title><description><![CDATA[<p>@ el primato<br />
Nein, das ist nicht möglich. Du wirst wohl bei deinem Switch - Konstrukt bleiben müssen.</p>
<p>Edit: Trollerei entfernt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448496</guid><dc:creator><![CDATA[basti33]]></dc:creator><pubDate>Sun, 03 Feb 2008 15:02:32 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 14:29:01 GMT]]></title><description><![CDATA[<p>eine map mit key = Text und value = objekt wäre auch möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448506</guid><dc:creator><![CDATA[mapper]]></dc:creator><pubDate>Sun, 03 Feb 2008 14:29:01 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 15:06:41 GMT]]></title><description><![CDATA[<p>Danke für die antworten.<br />
@mapper: Das würde mich aber auch nicht weiterbringen. Ein switch oder if-konstrukt, das jedes objekt einzeln berücksichtigt ist trotzdem erforderlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448530</guid><dc:creator><![CDATA[el primato]]></dc:creator><pubDate>Sun, 03 Feb 2008 15:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 15:11:09 GMT]]></title><description><![CDATA[<p>Weißt du überhaupt was ne map ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448535</guid><dc:creator><![CDATA[mapper]]></dc:creator><pubDate>Sun, 03 Feb 2008 15:11:09 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 16:01:34 GMT]]></title><description><![CDATA[<p>mapper schrieb:</p>
<blockquote>
<p>Weißt du überhaupt was ne map ist?</p>
</blockquote>
<p>Naja, ich denke schon. Zumindest weiss ich, wie ich sie anwende <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="😉"
    /><br />
Kann natürlich sein, dass ich da ne entscheidende sache noch nicht weiß... Warum sagst du mir nicht, was du meinst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448559</guid><dc:creator><![CDATA[el primato]]></dc:creator><pubDate>Sun, 03 Feb 2008 16:01:34 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 16:09:17 GMT]]></title><description><![CDATA[<p>Sowas</p>
<pre><code class="language-cpp">cin &gt;&gt; wort;
theMap.find(wort).methode1();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1448568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448568</guid><dc:creator><![CDATA[mapper]]></dc:creator><pubDate>Sun, 03 Feb 2008 16:09:17 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 16:44:48 GMT]]></title><description><![CDATA[<p>Das funktioniert nicht</p>
<pre><code>main.cpp: In function »int main()«:
main.cpp:83: Fehler: »struct std::_Rb_tree_iterator&lt;std::pair&lt;const std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, cClass&gt; &gt;« hat kein Element namens »method1«
/usr/include/c++/4.1.3/bits/stl_map.h: In member function »_Tp&amp; std::map&lt;_Key, _Tp, _Compare, _Alloc&gt;::operator[](const _Key&amp;) [with _Key = std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, _Tp = cClass, _Compare = std::less&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, _Alloc = std::allocator&lt;std::pair&lt;const std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, cClass&gt; &gt;]«:
main.cpp:66:   instantiated from here
/usr/include/c++/4.1.3/bits/stl_map.h:348: Fehler: keine passende Funktion für Aufruf von »cClass::cClass()«
classes/cClass.h:6: Anmerkung: Kandidaten sind: cClass::cClass(std::string, std::string, int, int, int, int, int)
classes/cClass.h:4: Anmerkung:                  cClass::cClass(const cClass&amp;)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1448594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448594</guid><dc:creator><![CDATA[el primato]]></dc:creator><pubDate>Sun, 03 Feb 2008 16:44:48 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 16:47:08 GMT]]></title><description><![CDATA[<p>und der code dazu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448597</guid><dc:creator><![CDATA[mapper]]></dc:creator><pubDate>Sun, 03 Feb 2008 16:47:08 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 16:52:16 GMT]]></title><description><![CDATA[<p>So in etwa:</p>
<pre><code class="language-cpp">map&lt;string, cClass&gt; mapname;

cClass foo;
mapname[&quot;wort&quot;] = foo;

cin &gt;&gt; wort;
mapname.find(wort).method1();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1448598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448598</guid><dc:creator><![CDATA[el primato]]></dc:creator><pubDate>Sun, 03 Feb 2008 16:52:16 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 17:35:25 GMT]]></title><description><![CDATA[<p>Wie wäre es mit einem Funktionszeiger?</p>
<p>Edit:</p>
<p>Hatten wir erst letztens</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-204341-and-highlight-is-.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-204341-and-highlight-is-.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448610</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 03 Feb 2008 17:35:25 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 17:54:14 GMT]]></title><description><![CDATA[<p>el primato schrieb:</p>
<blockquote>
<p>So in etwa:</p>
<pre><code class="language-cpp">map&lt;string, cClass&gt; mapname;

cClass foo;
mapname[&quot;wort&quot;] = foo;

cin &gt;&gt; wort;
mapname.find(wort).method1();
</code></pre>
</blockquote>
<p>Und hat cClass ne Methode method1? Oben was noch methode1.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448637</guid><dc:creator><![CDATA[mapper]]></dc:creator><pubDate>Sun, 03 Feb 2008 17:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 03 Feb 2008 17:57:11 GMT]]></title><description><![CDATA[<p>Ach<br />
-&gt;second.method1()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1448639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1448639</guid><dc:creator><![CDATA[mapper]]></dc:creator><pubDate>Sun, 03 Feb 2008 17:57:11 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Fri, 08 Feb 2008 14:41:47 GMT]]></title><description><![CDATA[<p>mapper schrieb:</p>
<blockquote>
<p>Und hat cClass ne Methode method1? Oben was noch methode1.</p>
</blockquote>
<p>Die namen hab ich nur für das beispiel ein wenig abgeändert. Bei mir stimmt das alles.</p>
<blockquote>
<p>Ach<br />
-&gt;second.method1()</p>
</blockquote>
<p>Ich verstehe nicht ganz, was du mir damit sagen willst?</p>
<p>Das mit dem funktionszeiger werd ich mir mal angucken. Danke für den link.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452017</guid><dc:creator><![CDATA[el primato]]></dc:creator><pubDate>Fri, 08 Feb 2008 14:41:47 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Fri, 08 Feb 2008 17:50:00 GMT]]></title><description><![CDATA[<p>mapname.find(wort)-&gt;second.method1()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452149</guid><dc:creator><![CDATA[mapper]]></dc:creator><pubDate>Fri, 08 Feb 2008 17:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 10 Feb 2008 17:03:02 GMT]]></title><description><![CDATA[<p>mapper schrieb:</p>
<blockquote>
<p>mapname.find(wort)-&gt;second.method1()</p>
</blockquote>
<p>Aber meine map heisst doch &quot;mapname&quot;. Wieso muss da second stehen, kannst du mir das bitte erklären?<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453168</guid><dc:creator><![CDATA[el primato]]></dc:creator><pubDate>Sun, 10 Feb 2008 17:03:02 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 10 Feb 2008 17:08:11 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/stl/map/find.html" rel="nofollow">http://www.cplusplus.com/reference/stl/map/find.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453171</guid><dc:creator><![CDATA[mapper]]></dc:creator><pubDate>Sun, 10 Feb 2008 17:08:11 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Sun, 10 Feb 2008 17:11:48 GMT]]></title><description><![CDATA[<p>die fehlermeldung oben besagt doch erstmal nur das: Deine Klasse cClass hat keinen standardkonstruktor (also einen ohne parameter). Objekte in einer map brauchen aber so einen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453174</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Sun, 10 Feb 2008 17:11:48 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Mon, 11 Feb 2008 06:32:13 GMT]]></title><description><![CDATA[<p>mapper schrieb:</p>
<blockquote>
<p>mapname.find(wort)-&gt;second.method1()</p>
</blockquote>
<p>das ist ja gruselig, speicherzugriffsverletzung gleich eingebaut?<br />
machs wenigstens so:</p>
<pre><code class="language-cpp">std::map&lt;string, cClass&gt;::iterator iter = mapname.find(wort);
if( iter != mapname.end() )
  iter-&gt;second.method1();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1453425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453425</guid><dc:creator><![CDATA[thordk_]]></dc:creator><pubDate>Mon, 11 Feb 2008 06:32:13 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Mon, 11 Feb 2008 18:32:04 GMT]]></title><description><![CDATA[<p>thordk_ schrieb:</p>
<blockquote>
<p>mapper schrieb:</p>
<blockquote>
<p>mapname.find(wort)-&gt;second.method1()</p>
</blockquote>
<p>das ist ja gruselig, speicherzugriffsverletzung gleich eingebaut?</p>
</blockquote>
<p>[ausrede]<br />
Anfangs hat er auch behauptet, er weiß wie man ne map anwendet, da dachte ich es reicht die Idee zu zeigen.<br />
[/ausrede]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1453885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1453885</guid><dc:creator><![CDATA[mapper]]></dc:creator><pubDate>Mon, 11 Feb 2008 18:32:04 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Tue, 25 Mar 2008 17:09:40 GMT]]></title><description><![CDATA[<p>Sorry erstmal, dass ich das problem so lange liegen gelassen hab. Hatte in den letzten wochen keine zeit.</p>
<p>Maxi schrieb:</p>
<blockquote>
<p>die fehlermeldung oben besagt doch erstmal nur das: Deine Klasse cClass hat keinen standardkonstruktor (also einen ohne parameter). Objekte in einer map brauchen aber so einen.</p>
</blockquote>
<p>Ja, soweit bin ich nun auch gekommen. Aber mein cClass hat einen standardkonstruktor mit parameter. Daher kann ich mir die fehlermeldung nicht erklären. Der konstruktor sieht so aus</p>
<pre><code class="language-cpp">cClass::cClass(string name, string description) {
	method2(name, description);
}
</code></pre>
<p>method1 (und method2 auch) kommen übrigens von einer elternklasse. Hats evtl damit was zu tun?<br />
Ich hab mir inzwischen auch nochmal genau die map angeguckt. Ich machs genauso wie ihr es mir geschrieben habt bzw wie es in der c++ reference als beispiel steht. Aber es bleibt bei der fehlermeldung:</p>
<blockquote>
<p>/usr/include/c++/4.1.3/bits/stl_map.h: In member function »_Tp&amp; std::map&lt;_Key, _Tp, _Compare, _Alloc&gt;::operator[](const _Key&amp;) [with _Key = std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, _Tp = cClass, _Compare = std::less&lt;std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;, _Alloc = std::allocator&lt;std::pair&lt;const std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;, cClass&gt; &gt;]«:<br />
main.cpp:61: instantiated from here<br />
/usr/include/c++/4.1.3/bits/stl_map.h:348: Fehler: keine passende Funktion für Aufruf von »cClass::cClass()«<br />
classes/cClass.h:7: Anmerkung: Kandidaten sind: cClass::cClass(std::string, std::string)<br />
classes/cClass.h:5: Anmerkung: cClass::cClass(const cClass&amp;)<br />
make: *** [main] Fehler 1</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1480178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480178</guid><dc:creator><![CDATA[el primato]]></dc:creator><pubDate>Tue, 25 Mar 2008 17:09:40 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Tue, 25 Mar 2008 17:19:55 GMT]]></title><description><![CDATA[<p>Du mußt der Klasse aber einen parameterlosen Konstruktor verpassen (diesen nennt man Standard-Konstruktor), da die Map beim Operator[] einen neuen (leeren) Eintrag anlegt, wenn der Wert nicht gefunden wurde.</p>
<p>Alternativ kannst du auch deinen bisherigen Konstruktor mit Defaultparametern ausstatten, z.B.:</p>
<pre><code class="language-cpp">cClass::cClass(string name = string(), string description = string())
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1480189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480189</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 25 Mar 2008 17:19:55 GMT</pubDate></item><item><title><![CDATA[Reply to Methodenaufruf eines variablen Objektes on Fri, 18 Jul 2008 12:07:19 GMT]]></title><description><![CDATA[<p>sorry, hat sich erledigt....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1549340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1549340</guid><dc:creator><![CDATA[el primato]]></dc:creator><pubDate>Fri, 18 Jul 2008 12:07:19 GMT</pubDate></item></channel></rss>