<?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[virtual]]></title><description><![CDATA[<p>Hey,<br />
ich überschreibe gerade den Operator == in Vektor.<br />
Ich habe 4 Klassen.</p>
<p>1. Klasse Vector.h<br />
2. Klasse Vector.inl<br />
3. Klasse Vector3.h<br />
4. Klasse Vector3.inl</p>
<p>in Vector.h hab ich den Operator überschrieben.<br />
Vector ruft man mit Vector&lt;T,dim&gt; (Template, Diminesion)<br />
es gibt eine schablone in Vector3.h<br />
das man auch Vector3&lt;T&gt; aufrufen kann.</p>
<p>allerdings wenn ich Vector3&lt;T&gt;==Vector3&lt;T&gt; mach sagt er er kennt das nicht.<br />
=&gt; ich muss virtual in Vector3.h einbauen.<br />
ich hab alledings keine Ahnung davon.</p>
<p>deshalb frag ich euch wo mein Fehler ist:<br />
Mein Versuch.</p>
<p>Vector3.h:<br />
inline virtual bool operator==(const Vector&lt;T, 3&gt; &amp;v);</p>
<p>Vector3.inl:<br />
template&lt;typename T&gt;<br />
bool Vector3&lt;T&gt;::operator==(const Vector3&lt;T&gt; &amp; mV)<br />
{<br />
return bool::Vector&lt;T,3&gt;==(const Vector&lt;T,3&gt; &amp; mV);<br />
}</p>
<p>Fehler:</p>
<p>error C2244: 'common::vecmath::Vector3&lt;T&gt;::operator ==': Keine Übereinstimmung für Funktionsdefinition mit vorhandener Deklaration gefunden c:\daten\vector3.inl</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/295974/virtual</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 00:58:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295974.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Nov 2011 13:25:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 13:25:42 GMT]]></title><description><![CDATA[<p>Hey,<br />
ich überschreibe gerade den Operator == in Vektor.<br />
Ich habe 4 Klassen.</p>
<p>1. Klasse Vector.h<br />
2. Klasse Vector.inl<br />
3. Klasse Vector3.h<br />
4. Klasse Vector3.inl</p>
<p>in Vector.h hab ich den Operator überschrieben.<br />
Vector ruft man mit Vector&lt;T,dim&gt; (Template, Diminesion)<br />
es gibt eine schablone in Vector3.h<br />
das man auch Vector3&lt;T&gt; aufrufen kann.</p>
<p>allerdings wenn ich Vector3&lt;T&gt;==Vector3&lt;T&gt; mach sagt er er kennt das nicht.<br />
=&gt; ich muss virtual in Vector3.h einbauen.<br />
ich hab alledings keine Ahnung davon.</p>
<p>deshalb frag ich euch wo mein Fehler ist:<br />
Mein Versuch.</p>
<p>Vector3.h:<br />
inline virtual bool operator==(const Vector&lt;T, 3&gt; &amp;v);</p>
<p>Vector3.inl:<br />
template&lt;typename T&gt;<br />
bool Vector3&lt;T&gt;::operator==(const Vector3&lt;T&gt; &amp; mV)<br />
{<br />
return bool::Vector&lt;T,3&gt;==(const Vector&lt;T,3&gt; &amp; mV);<br />
}</p>
<p>Fehler:</p>
<p>error C2244: 'common::vecmath::Vector3&lt;T&gt;::operator ==': Keine Übereinstimmung für Funktionsdefinition mit vorhandener Deklaration gefunden c:\daten\vector3.inl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148714</guid><dc:creator><![CDATA[82kolu]]></dc:creator><pubDate>Fri, 25 Nov 2011 13:25:42 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 13:35:23 GMT]]></title><description><![CDATA[<p>Mal abgesehen von dem Compilerfehler und das Fehlen von Code-Tags: Das Mischen von <code>virtual</code> und <code>template</code> suggeriert, dass dein Ansatz eher schlecht ist. Auch das <code>inline</code> vor <code>virtual</code> macht mich stutzig. Ansonsten passen die Signaturen nicht, <code>Vector3&lt;T&gt;</code> ist ein anderer Typ als <code>Vector&lt;T,3&gt;</code> .</p>
<pre><code class="language-cpp">bool operator==(const Vector&lt;T, 3&gt; &amp;v); 

bool operator==(const Vector3&lt;T&gt; &amp; mV);
</code></pre>
<p>Und keine Ahnung was du damit meinst:</p>
<blockquote>
<p>es gibt eine schablone in Vector3.h<br />
das man auch Vector3&lt;T&gt; aufrufen kann.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2148720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148720</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Fri, 25 Nov 2011 13:35:23 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 13:41:30 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>Mal abgesehen von dem Compilerfehler und das Fehlen von Code-Tags: Das Mischen von <code>virtual</code> und <code>template</code> suggeriert, dass dein Ansatz eher schlecht ist. Auch das <code>inline</code> vor <code>virtual</code> macht mich stutzig. Ansonsten passen die Signaturen nicht, <code>Vector3&lt;T&gt;</code> ist ein anderer Typ als <code>Vector&lt;T,3&gt;</code> .</p>
<pre><code class="language-cpp">bool operator==(const Vector&lt;T, 3&gt; &amp;v); 

bool operator==(const Vector3&lt;T&gt; &amp; mV);
</code></pre>
<p>Und keine Ahnung was du damit meinst:</p>
<blockquote>
<p>es gibt eine schablone in Vector3.h<br />
das man auch Vector3&lt;T&gt; aufrufen kann.</p>
</blockquote>
</blockquote>
<p>damit mein ich genau das was du bemängelt hast.<br />
das beide aufrufe gehen sollen. wenn ich 2 Vectoren mit dim = 3 habe dann soll man auch Vector3&lt;T&gt; schreiben können und nicht unbedengt Vector&lt;T,dim&gt;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148728</guid><dc:creator><![CDATA[82kolu]]></dc:creator><pubDate>Fri, 25 Nov 2011 13:41:30 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 13:44:43 GMT]]></title><description><![CDATA[<p>Ich verstehe nicht ganz wo dein Problem ist (und vor allem wie und wo da virtual rein passt). Poste doch mal deinen Code und sag in welcher Zeile der Compiler meckert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148730</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 25 Nov 2011 13:44:43 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 13:53:00 GMT]]></title><description><![CDATA[<p>Vector.inl:</p>
<pre><code>template&lt;typename T, unsigned int dim&gt;template&lt;const unsigned int dim2&gt;
bool Vector&lt;T,dim&gt;::operator==(const Vector&lt;T,dim2&gt; &amp; mV) 
{
}
</code></pre>
<p>Vector.h:</p>
<pre><code>template&lt;const unsigned int dim2&gt;
		inline virtual bool operator== (const Vector&lt;T, dim2&gt; &amp;mV);
</code></pre>
<p>Vector3.h:</p>
<pre><code>template&lt;typename T&gt; 
bool Vector3&lt;T&gt;::operator==(const Vector3&lt;T&gt; &amp; mV) 
{
	return Vector&lt;T,3&gt;::operator==(const Vector&lt;T,3&gt; &amp; mV);
}
</code></pre>
<p>Vector3.inl:</p>
<pre><code>template&lt;typename T, unsigned int dim&gt; class Vector;

		template&lt;typename T&gt; class Vector3 : public Vector&lt;T, 3&gt; {
		public:
			//construction
			Vector3();
			Vector3(T e1, T e2, T e3);

			virtual ~Vector3(){}

...
inline virtual bool operator==(const Vector&lt;T, 3&gt; &amp;mV);
</code></pre>
<p>was ist an dem virtual falsch? wie müsste man des machen das es funktioniert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148735</guid><dc:creator><![CDATA[82kolu]]></dc:creator><pubDate>Fri, 25 Nov 2011 13:53:00 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 14:03:52 GMT]]></title><description><![CDATA[<p>Ich blicke da zwar immer noch nicht mehr durch als vorher, aber ist dir klar, dass du den operator == einfach vererben kannst? Da ändert sich doch überhaupt nichts?</p>
<pre><code class="language-cpp">class A
{
public:
  bool operator == (const A &amp;a) const
  {
    return true;
  }
};

class B : public A
{
};

int main()
{
  B b1, b2;
  if (b1 == b2)
    std::cout &lt;&lt; &quot;yaay!&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2148740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148740</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 25 Nov 2011 14:03:52 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 14:09:13 GMT]]></title><description><![CDATA[<p>Ich will ja das virtual verstehen...<br />
ist meine Frage echt so unverständlich... des ist doof.<br />
Also Vector erbt von Vector3.<br />
wenn ich machen würde</p>
<pre><code>if(Vector&lt;T,3&gt;==Vector&lt;T,3&gt;)
</code></pre>
<p>dann würde es gehen aber ich will über virtual erreichen das Vector3 dann Vector aufruft und ich somit auch</p>
<pre><code>if(Vector3&lt;T&gt;==Vector3&lt;T&gt;)
</code></pre>
<p>aufrufen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148741</guid><dc:creator><![CDATA[82kolu]]></dc:creator><pubDate>Fri, 25 Nov 2011 14:09:13 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 14:18:49 GMT]]></title><description><![CDATA[<p>82kolu schrieb:</p>
<blockquote>
<p>Ich will ja das virtual verstehen...</p>
</blockquote>
<p>Wenn das dein Hauptziel ist, ist deine Frage doof, weil virtual eine völlig andere Funktion hat als die, nach der du hier fragst. Denn das kannst du auch mit normaler Vererbung erreichen. (Und das solltest du auch tun.)</p>
<p>virtual wird eben gerade dann spannend, wenn sich das Verhalten ändert.</p>
<pre><code class="language-cpp">struct A
{
  virtual void foo()
  {
    std::cout &lt;&lt; &quot;A!\n&quot;;
  }
}

struct B : public A
{
  virtual void foo()
  {
    std::cout &lt;&lt; &quot;B!\n&quot;;
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2148747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148747</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 25 Nov 2011 14:18:49 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 14:21:25 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>82kolu schrieb:</p>
<blockquote>
<p>Ich will ja das virtual verstehen...</p>
</blockquote>
<p>Wenn das dein Hauptziel ist, ist deine Frage doof, weil virtual eine völlig andere Funktion hat als die, nach der du hier fragst. Denn das kannst du auch mit normaler Vererbung erreichen. (Und das solltest du auch tun.)</p>
<p>virtual wird eben gerade dann spannend, wenn sich das Verhalten ändert.</p>
<pre><code class="language-cpp">struct A
{
  virtual void foo()
  {
    std::cout &lt;&lt; &quot;A!\n&quot;;
  }
}

struct B : public A
{
  virtual void foo()
  {
    std::cout &lt;&lt; &quot;B!\n&quot;;
  }
}
</code></pre>
</blockquote>
<p>Aber ein fehler findest du nicht? weil ich will schon das es so funktioniert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148749</guid><dc:creator><![CDATA[82kolu]]></dc:creator><pubDate>Fri, 25 Nov 2011 14:21:25 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 14:25:14 GMT]]></title><description><![CDATA[<p>82kolu schrieb:</p>
<blockquote>
<p>Aber ein fehler findest du nicht? weil ich will schon das es so funktioniert</p>
</blockquote>
<p>Der Code ist unvollständig und nicht mal syntaktisch korrekt, was soll man da bitte groß finden? Und warum willst du unbedingt das langsamere und für diesen Zweck überhaupt nicht konzipierte virtual verwenden? Erkläre dich doch bitte mal..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148752</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 25 Nov 2011 14:25:14 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 14:30:09 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>82kolu schrieb:</p>
<blockquote>
<p>Aber ein fehler findest du nicht? weil ich will schon das es so funktioniert</p>
</blockquote>
<p>Der Code ist unvollständig und nicht mal syntaktisch korrekt, was soll man da bitte groß finden? Und warum willst du unbedingt das langsamere und für diesen Zweck überhaupt nicht konzipierte virtual verwenden? Erkläre dich doch bitte mal..</p>
</blockquote>
<p>Weil das die Aufgabenstellung ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148757</guid><dc:creator><![CDATA[82kolu]]></dc:creator><pubDate>Fri, 25 Nov 2011 14:30:09 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 14:33:36 GMT]]></title><description><![CDATA[<p>82kolu schrieb:</p>
<blockquote>
<p>Weil das die Aufgabenstellung ist.</p>
</blockquote>
<p>Die Aufgabenstellung besagt also, dass du bei einer Vektorklasse den operator == mit virtual implementieren sollst? Oder ist die Aufgabe nicht eher, dass du irgendein Anwendungsbeispiel für virtual finden sollst? (Falls ersteres zutreffen sollte versichere mir bitte, dass du nicht studierst, sonst fange ich gleich an zu weinen.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148760</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 25 Nov 2011 14:33:36 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 14:38:48 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>82kolu schrieb:</p>
<blockquote>
<p>Weil das die Aufgabenstellung ist.</p>
</blockquote>
<p>Die Aufgabenstellung besagt also, dass du bei einer Vektorklasse den operator == mit virtual implementieren sollst? Oder ist die Aufgabe nicht eher, dass du irgendein Anwendungsbeispiel für virtual finden sollst? (Falls ersteres zutreffen sollte versichere mir bitte, dass du nicht studierst, sonst fange ich gleich an zu weinen.)</p>
</blockquote>
<p>ich studiere <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 />
aber mathe wenn dir das hilft. und ja ersteres.<br />
also tips <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":-P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148764</guid><dc:creator><![CDATA[82kolu]]></dc:creator><pubDate>Fri, 25 Nov 2011 14:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 25 Nov 2011 14:49:08 GMT]]></title><description><![CDATA[<p>82kolu schrieb:</p>
<blockquote>
<p>aber mathe wenn dir das hilft.</p>
</blockquote>
<p>Nicht wirklich. *schnief*</p>
<p>82kolu schrieb:</p>
<blockquote>
<p>also tips <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":-P"
      alt="😛"
    /></p>
</blockquote>
<p>Na ja, mach es wie oben.</p>
<pre><code class="language-cpp">template&lt;unsigned int N&gt;
class A
{
public:
  virtual bool operator == (const A &amp;a) const
  {
    for (unsigned i = 0; i &lt; N; ++i)
      // Vektor vergleichen
  }
}; // *schnief*, sorry

class B : public A&lt;3&gt;
{
public:
  virtual bool operator == (const B &amp;b) const
  {
    return true /* Hier vergleichst du jetzt einfach den Inhalt ohne Schleife, so kann man sich noch etwas Sinn in das Ganze einreden. */ ;
  }
};
</code></pre>
<p>Falls es immer noch nicht klappt, poste den <strong>vollständigen</strong> Code, mit allen Compilerfehlern. (Dran schreiben welcher Codezeile das hier im Forum entsprechen würde.) (Edit: Und nimm [ cpp ] statt [ code ] Tags, dann ist das so schön bunt.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2148776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2148776</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 25 Nov 2011 14:49:08 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Sat, 26 Nov 2011 17:15:06 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">template&lt;unsigned int N&gt;
class A
{
public:
  virtual bool operator == (const A &amp;a) const   //A fehlt der template parameter
  {
    for (unsigned i = 0; i &lt; N; ++i)
      // Vektor vergleichen
  }
}; // *schnief*, sorry
</code></pre>
</blockquote>
<p>Ich versteh nach wie vor den Sinn nicht ganz. Suchst du vielleicht sowas?</p>
<pre><code class="language-cpp">template&lt; class Type , unsigned int Dim &gt;
class Vector
{
public:
    bool operator==( const Vector&lt; Type , Dim &gt; &amp;v ) const
    {
        //Elemente vergleichen, anderer Vector hat die gleiche Dimension
    }
};
template&lt; class Type &gt;
class Vector3
    : public Vector&lt; Type , 3 &gt;
{
};

//////////////////
Vector3&lt; int &gt; v3;
Vector&lt; int , 3 &gt; v;
v3 == v;
v == v3;
Vector&lt; int , 4 &gt; v_4;
v4 == v3; //compile error, wüsste auch nicht was das Ergebnis sein sollte
</code></pre>
<p>Wenn die Vorgabe ist, dass operator== virtual sein muss, dann mach ihn halt virtual, aber sinnvoll ist es nicht, weil nirgends dynamische Polymorphie verwendet wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149272</guid><dc:creator><![CDATA[GorbGorb]]></dc:creator><pubDate>Sat, 26 Nov 2011 17:15:06 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Sat, 26 Nov 2011 17:29:03 GMT]]></title><description><![CDATA[<p>Dir ist aber schon bewusst, dass ich die Frage beantwortet und nicht gestellt habe, und dass du gerade auf einen abgeschlossenen Thread geantwortet hast?<br />
Und</p>
<p>GorbGorb schrieb:</p>
<blockquote>
<p>cooky451 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">public:
  virtual bool operator == (const A &amp;a) const   //A fehlt der template parameter // Nein, tut er nicht.
</code></pre>
</blockquote>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2149279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149279</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 26 Nov 2011 17:29:03 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Sat, 26 Nov 2011 17:30:29 GMT]]></title><description><![CDATA[<p>Jain. Deine Lösung war ja nicht ganz richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149280</guid><dc:creator><![CDATA[GorbGorb]]></dc:creator><pubDate>Sat, 26 Nov 2011 17:30:29 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Sat, 26 Nov 2011 17:34:32 GMT]]></title><description><![CDATA[<p>GorbGorb schrieb:</p>
<blockquote>
<p>Jain. Deine Lösung war ja nicht ganz richtig.</p>
</blockquote>
<p>Doch, war sie. Lies erst mal den <strong>ganzen</strong> Thread.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149281</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 26 Nov 2011 17:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Sat, 26 Nov 2011 17:35:08 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;unsigned int N&gt;
class A
{
public:
  virtual bool operator == (const A&lt;N&gt; &amp;a) const  //das &lt;N&gt; hat gefehlt
  {
    for (unsigned i = 0; i &lt; N; ++i)
      // Vektor vergleichen
  }
}; // *schnief*, sorry
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2149282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149282</guid><dc:creator><![CDATA[GorbGorb]]></dc:creator><pubDate>Sat, 26 Nov 2011 17:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Sat, 26 Nov 2011 17:37:14 GMT]]></title><description><![CDATA[<p><a href="http://ideone.com/L3HNZ" rel="nofollow">http://ideone.com/L3HNZ</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149283</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 26 Nov 2011 17:37:14 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Sun, 27 Nov 2011 00:58:40 GMT]]></title><description><![CDATA[<p>Du hast tatsächlich Recht, dabei war ich mir hier ziemlich sicher, dass das nicht stimmen kann... naja, man lernt wohl nie aus (vor allem nicht bei c++)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149422</guid><dc:creator><![CDATA[GorbGorb]]></dc:creator><pubDate>Sun, 27 Nov 2011 00:58:40 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Mon, 28 Nov 2011 12:28:26 GMT]]></title><description><![CDATA[<p>Also ich hab jetzt mal nachgelesen, man kann operatoren gar nicht virtual machen... jetzt bin ich verwirrt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149920</guid><dc:creator><![CDATA[82kolu]]></dc:creator><pubDate>Mon, 28 Nov 2011 12:28:26 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Mon, 28 Nov 2011 12:36:17 GMT]]></title><description><![CDATA[<p>82kolu schrieb:</p>
<blockquote>
<p>Also ich hab jetzt mal nachgelesen, man kann operatoren gar nicht virtual machen... jetzt bin ich verwirrt</p>
</blockquote>
<p>Dann war das wo du das gelesen hast nicht richtig. Geht wunderbar, probiers aus. Musst aber aufpassen, dass die Operatoren dann auch wirklich die gleiche Signatur haben.</p>
<pre><code class="language-cpp">virtual operator==(const Base &amp;rhs);
</code></pre>
<p>wird beispielsweise nicht durch</p>
<pre><code class="language-cpp">virtual operator==(const Derived &amp;rhs);
</code></pre>
<p>ersetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149923</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 28 Nov 2011 12:36:17 GMT</pubDate></item><item><title><![CDATA[Reply to virtual on Fri, 02 Dec 2011 16:35:00 GMT]]></title><description><![CDATA[<p>Davon würde ich aber abraten. Ist recht unintuitiv, falls nur ein Operand polymorph behandelt wird. Überhaupt ist es im Allgemeinen sinnvoller, <code>operator==</code> als globale Funktion zu implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152006</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 02 Dec 2011 16:35:00 GMT</pubDate></item></channel></rss>