<?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[methode auf 2 instanzen anwenden]]></title><description><![CDATA[<p>hallo,</p>
<p>gibt es eine möglichkeit eine methode zu verwenden, bei der attribute aus 2 verschiedenen instanzen miteinander verglichen werden?</p>
<p>void Auto:: eingabe_nutzer1(void)<br />
{ cout &lt;&lt; &quot;Marke: &quot; ;<br />
cin &gt;&gt; marke1; .... }<br />
void Auto:: eingabe_nutzer2(void)<br />
{ ... cout &lt;&lt; &quot;Marke: &quot; ;<br />
cin &gt;&gt; marke2; ... }<br />
cout &lt;&lt; &quot;Vergleich startet...&quot; &lt;&lt; endl;<br />
if (marke1 == marke2)<br />
{cout &lt;&lt; &quot;Marken... }<br />
int main ()<br />
{ Auto Auto1;<br />
Auto1.hallo();<br />
Auto1.eingabe_nutzer1();<br />
Auto Auto2;<br />
Auto2.eingabe_nutzer2();<br />
<strong>Auto2.vergleich();</strong> &lt;-- welche instanz muss ich hier dann wählen?<br />
system (&quot;PAUSE&quot;);<br />
return 0;}</p>
<p>wenn ich das so ausführe, dann hab ich zwar keinen compilerfehler, aber er vergleicht auch nicht! es erfolgt keine ausgabe!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257314/methode-auf-2-instanzen-anwenden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 08:56:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257314.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Dec 2009 18:25:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to methode auf 2 instanzen anwenden on Sat, 26 Dec 2009 18:25:03 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>gibt es eine möglichkeit eine methode zu verwenden, bei der attribute aus 2 verschiedenen instanzen miteinander verglichen werden?</p>
<p>void Auto:: eingabe_nutzer1(void)<br />
{ cout &lt;&lt; &quot;Marke: &quot; ;<br />
cin &gt;&gt; marke1; .... }<br />
void Auto:: eingabe_nutzer2(void)<br />
{ ... cout &lt;&lt; &quot;Marke: &quot; ;<br />
cin &gt;&gt; marke2; ... }<br />
cout &lt;&lt; &quot;Vergleich startet...&quot; &lt;&lt; endl;<br />
if (marke1 == marke2)<br />
{cout &lt;&lt; &quot;Marken... }<br />
int main ()<br />
{ Auto Auto1;<br />
Auto1.hallo();<br />
Auto1.eingabe_nutzer1();<br />
Auto Auto2;<br />
Auto2.eingabe_nutzer2();<br />
<strong>Auto2.vergleich();</strong> &lt;-- welche instanz muss ich hier dann wählen?<br />
system (&quot;PAUSE&quot;);<br />
return 0;}</p>
<p>wenn ich das so ausführe, dann hab ich zwar keinen compilerfehler, aber er vergleicht auch nicht! es erfolgt keine ausgabe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828128</guid><dc:creator><![CDATA[bine01]]></dc:creator><pubDate>Sat, 26 Dec 2009 18:25:03 GMT</pubDate></item><item><title><![CDATA[Reply to methode auf 2 instanzen anwenden on Sat, 26 Dec 2009 18:39:51 GMT]]></title><description><![CDATA[<p>Du machst entweder eine Methode, wo du eine Instanz des gleichen Typs als Parameter übergibst, oder eine Funktion, wo du zwei Instanzen des selben Typs übergibst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828135</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 26 Dec 2009 18:39:51 GMT</pubDate></item><item><title><![CDATA[Reply to methode auf 2 instanzen anwenden on Sat, 26 Dec 2009 18:41:32 GMT]]></title><description><![CDATA[<p>bine01 schrieb:</p>
<blockquote>
<p>hallo,</p>
<p>gibt es eine möglichkeit eine methode zu verwenden, bei der attribute aus 2 verschiedenen instanzen miteinander verglichen werden?</p>
<pre><code class="language-cpp">void Auto:: eingabe_nutzer1(void)
{    cout &lt;&lt; &quot;Marke: &quot; ;
     cin &gt;&gt; marke1; .... }
void Auto:: eingabe_nutzer2(void)
{ ... cout &lt;&lt; &quot;Marke: &quot; ;
     cin &gt;&gt; marke2; ... }
cout &lt;&lt; &quot;Vergleich startet...&quot; &lt;&lt; endl;
     if (marke1 == marke2)
     {cout &lt;&lt; &quot;Marken...&quot;; }
int main ()
{   Auto Auto1;                       
    Auto1.hallo();                    
    Auto1.eingabe_nutzer1();
    Auto Auto2;                       
    Auto2.eingabe_nutzer2();
    Auto2.vergleich(); // &lt;-- welche instanz muss ich hier dann wählen?
    system (&quot;PAUSE&quot;);
    return 0;}
</code></pre>
<p>wenn ich das so ausführe, dann hab ich zwar keinen compilerfehler, aber er vergleicht auch nicht! es erfolgt keine ausgabe!</p>
</blockquote>
<p>Hallo,</p>
<p>willkommen im C++-Forum.<br />
Ein Tipp vorne weg: wenn Du Code-Tags benutzt, sieht Dein geposteter Code besser aus. Das ist der [C/C++]-Button unter dem Eingabefenster. Ach ja - es muss natürlich korrekter C++-Code sein, sonst klappt die Darstellung nicht.</p>
<p>Zwei Instanzen einer Klasse kannst Du im Prinzip so vergleichen, wie Du auch zwei ints vergleichst. Also mit</p>
<pre><code class="language-cpp">if( Auto1 == Auto2 ) { // sind gleich ..
</code></pre>
<p>Dazu muss aber ein Vergleichsoperator in der Klasse existieren. Etwa so:</p>
<pre><code class="language-cpp">class Auto {
public:
    // ...
    bool operator==( const Auto&amp; b ) const;
    // ...
};
// Implementierung:
bool Auto::operator==( const Auto&amp; b ) const
{
    if( m_irgendeinMember == b.m_irgendeinMember )
        return true;
    return false;
}
</code></pre>
<p>:xmas2: Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828137</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sat, 26 Dec 2009 18:41:32 GMT</pubDate></item><item><title><![CDATA[Reply to methode auf 2 instanzen anwenden on Sat, 26 Dec 2009 18:42:46 GMT]]></title><description><![CDATA[<p>Wie sieht denn die Funktion vergleich aus?</p>
<p>Achja und benutz bitte die cpp-Tags. Man kann das kaum lesen.</p>
<p>Wie ich das verstehe, musst du die Funktion so implementieren, dass sie ein Objekt des gleichen Types nimmt und dann kannst du einen Vergleich machen. Dann spielt es keine Rolle, bei welchem Objekt du die Funktion aufrufst.</p>
<p>Denkbar ist auch eine freie Funktion:</p>
<pre><code class="language-cpp">bool vergleich ( const Auto&amp; a1, const Auto&amp; a2 )
{
// was auch immer nötig ist für den Vergelich
// gebe true oder false zurück
}
</code></pre>
<p>Natürlich ist das die Aufgabe des == Operators, wie ich sehe, dass es ebenfalls Werner vorschlägt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828138</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 26 Dec 2009 18:42:46 GMT</pubDate></item><item><title><![CDATA[Reply to methode auf 2 instanzen anwenden on Sat, 26 Dec 2009 19:13:12 GMT]]></title><description><![CDATA[<p>@ werner<br />
wenn ich denn bool operator== ... anwende, wie muss ich das dann im int main plazieren? bzw muss ich das dann überhaupt dort erwähnen?<br />
ansonsten würde ich die methode vergleich so machen:</p>
<pre><code class="language-cpp">void Auto:: vergleich(void)
{ cout &lt;&lt; &quot;Vergleich startet...&quot; &lt;&lt; endl;
     if (marke1 == marke2)
     {cout &lt;&lt; &quot;Marke ist identisch...&quot; &lt;&lt; endl;
           if (typ1 == typ2)
           {cout &lt;&lt; &quot;Typ ist identsich...&quot; &lt;&lt; endl;
           if (alter1 == alter2)
           {cout &lt;&lt; &quot;Alter ist identisch...&quot; &lt;&lt; endl;
           if (preis1 == preis2)
           {cout &lt;&lt; &quot;Preis ist identsich...&quot; &lt;&lt; endl;
           cout &lt;&lt; &quot;Diese 2 Modelle sind vollkommen identisch!&quot; &lt;&lt; endl;}}}} 
           else 
           cout &lt;&lt; &quot;Diese 2 Modelle sind nicht identisch!&quot; &lt;&lt; endl;  };
</code></pre>
<p>er gibt mir dann aber aus: &quot;Diese 2 Modelle sind nicht identisch!&quot; auch wenn ich die gleichen Werte eingebe!<br />
danke für den hinweis und die antworten im voraus! :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828158</guid><dc:creator><![CDATA[bine01]]></dc:creator><pubDate>Sat, 26 Dec 2009 19:13:12 GMT</pubDate></item><item><title><![CDATA[Reply to methode auf 2 instanzen anwenden on Sat, 26 Dec 2009 22:27:32 GMT]]></title><description><![CDATA[<p>1. Du kannst den == operator als normale Funktion in deiner Klasse deklarieren, schau dir mal diesen Artikel an:</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-232010-and-postdays-is-0-and-postorder-is-asc-and-start-is-0.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-232010-and-postdays-is-0-and-postorder-is-asc-and-start-is-0.html</a></p>
<p>2. welche typen haben deine Variablen?</p>
<p>character-sequenzen kannst du nicht einfach mit dem == operator vergleichen, du musst strcmp benutzen. Sonst werden die Zeiger verglichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828246</guid><dc:creator><![CDATA[uhsuhz]]></dc:creator><pubDate>Sat, 26 Dec 2009 22:27:32 GMT</pubDate></item><item><title><![CDATA[Reply to methode auf 2 instanzen anwenden on Sun, 27 Dec 2009 00:19:24 GMT]]></title><description><![CDATA[<p>uhsuhz schrieb:</p>
<blockquote>
<p>1. Du kannst den == operator als normale Funktion in deiner Klasse deklarieren, schau dir mal diesen Artikel an</p>
</blockquote>
<p>Dort steht aber, dass <code>operator==</code> eher als freie Funktion implementiert werden sollte. <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 gleich noch <code>operator!=</code> anzubieten ist auch keine schlechte Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828274</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 27 Dec 2009 00:19:24 GMT</pubDate></item><item><title><![CDATA[Reply to methode auf 2 instanzen anwenden on Sun, 27 Dec 2009 08:12:48 GMT]]></title><description><![CDATA[<p>Typisch C++ Forum, anstatt zu sagen was er falsch macht wird mit operatorüberladung rum geworfen, um alles noch komplizierter zu machen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<pre><code class="language-cpp">void Auto:: vergleich(void)
</code></pre>
<p>Ist natürlich sinnlos, weil ein Auto das andere nicht kennt. Du musst das zweite übergeben</p>
<pre><code class="language-cpp">void Auto:: vergleich(const Auto&amp; auto2){
...
...marke = auto2.marke
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1828302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828302</guid><dc:creator><![CDATA[manonman]]></dc:creator><pubDate>Sun, 27 Dec 2009 08:12:48 GMT</pubDate></item><item><title><![CDATA[Reply to methode auf 2 instanzen anwenden on Sun, 27 Dec 2009 08:13:52 GMT]]></title><description><![CDATA[<p>*...marke == auto2.marke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1828303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1828303</guid><dc:creator><![CDATA[manonman]]></dc:creator><pubDate>Sun, 27 Dec 2009 08:13:52 GMT</pubDate></item></channel></rss>