<?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[Operatoren von konstanter Instanz einer Klasse verwenden]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem mit einer Klasse, die einen abstrakten Wert mit darauf definierten Operatoren repräsentiert:</p>
<pre><code class="language-cpp">class Value
{
	public:
		static const Value ZERO;
		bool operator&lt;(const Value&amp; compValue);

	private:
		// interne Repräsentation des Wertes
		unsigned char* value;
};

// Konstruktor
Value::Value()
{
	value = new unsigned char[20];
	memset(value, 0, 20);
}

// null-Konstante
const Value Value::ZERO;

// ein beispielhafter Operator
bool Value::operator&lt;(const Value&amp; compValue)
{
	return memcmp(value, compValue.value, 20) &lt; 0 ? true : false;
}
</code></pre>
<p>Ich würde jetzt gerne die Konstante Value::ZERO bei Berechnungen als konstanten null-Wert verwenden und von diesem Wert beispielsweise den &lt;-Operator aufrufen können:</p>
<pre><code class="language-cpp">// irgend ein anderer Value-Wert
Value a = ...;

if ( Value::ZERO &lt; a ) ...
</code></pre>
<p>Leider geht das nicht:</p>
<blockquote>
<p>Die Übergabe von const Value als this-Argument von Value Value::operator&lt;(const Value&amp;) streicht qualifizierer.</p>
</blockquote>
<p>Andersherum funktioniert es seltsamerweise:</p>
<pre><code class="language-cpp">Value a;
if ( a &lt; Value::ZERO ) ...
</code></pre>
<p>Bin leider noch ziemlicher Anfänger und weiß nicht mehr wirklich weiter... Wäre also über jede Form der Hilfe sehr Dankbar!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/131881/operatoren-von-konstanter-instanz-einer-klasse-verwenden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 06:39:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/131881.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Jan 2006 17:14:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operatoren von konstanter Instanz einer Klasse verwenden on Fri, 06 Jan 2006 17:14:43 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem mit einer Klasse, die einen abstrakten Wert mit darauf definierten Operatoren repräsentiert:</p>
<pre><code class="language-cpp">class Value
{
	public:
		static const Value ZERO;
		bool operator&lt;(const Value&amp; compValue);

	private:
		// interne Repräsentation des Wertes
		unsigned char* value;
};

// Konstruktor
Value::Value()
{
	value = new unsigned char[20];
	memset(value, 0, 20);
}

// null-Konstante
const Value Value::ZERO;

// ein beispielhafter Operator
bool Value::operator&lt;(const Value&amp; compValue)
{
	return memcmp(value, compValue.value, 20) &lt; 0 ? true : false;
}
</code></pre>
<p>Ich würde jetzt gerne die Konstante Value::ZERO bei Berechnungen als konstanten null-Wert verwenden und von diesem Wert beispielsweise den &lt;-Operator aufrufen können:</p>
<pre><code class="language-cpp">// irgend ein anderer Value-Wert
Value a = ...;

if ( Value::ZERO &lt; a ) ...
</code></pre>
<p>Leider geht das nicht:</p>
<blockquote>
<p>Die Übergabe von const Value als this-Argument von Value Value::operator&lt;(const Value&amp;) streicht qualifizierer.</p>
</blockquote>
<p>Andersherum funktioniert es seltsamerweise:</p>
<pre><code class="language-cpp">Value a;
if ( a &lt; Value::ZERO ) ...
</code></pre>
<p>Bin leider noch ziemlicher Anfänger und weiß nicht mehr wirklich weiter... Wäre also über jede Form der Hilfe sehr Dankbar!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/958928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/958928</guid><dc:creator><![CDATA[BlasphemousRumour]]></dc:creator><pubDate>Fri, 06 Jan 2006 17:14:43 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren von konstanter Instanz einer Klasse verwenden on Fri, 06 Jan 2006 17:22:15 GMT]]></title><description><![CDATA[<p>operator &lt; sollte const sein dann geht's</p>
<pre><code class="language-cpp">bool operator&lt;(const Value&amp; compValue) const;
</code></pre>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/958935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/958935</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Fri, 06 Jan 2006 17:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren von konstanter Instanz einer Klasse verwenden on Fri, 06 Jan 2006 20:43:03 GMT]]></title><description><![CDATA[<p>BlasphemousRumour schrieb:</p>
<blockquote>
<pre><code class="language-cpp">// ein beispielhafter Operator
bool Value::operator&lt;(const Value&amp; compValue)
{
	return memcmp(value, compValue.value, 20) &lt; 0 ? true : false;
}
</code></pre>
</blockquote>
<p>Immer wieder interessant die Verwendung boolscher Logik zu sehen. <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/959131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/959131</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Fri, 06 Jan 2006 20:43:03 GMT</pubDate></item></channel></rss>