<?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[Anfängerprobleme]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>kann sich den folgenden Code vielleicht bitte mal jemand anschauen der nicht wie ich gerade die mehr oder weniger anfänglichen Schritte in C++ macht. Danke. Also ich habe versucht mir eine eigene Klasse SFColor zu schreiben. Die momentan einzige Variable der Klasse ist ein Array mit drei Werten (rot, grün, blau). Durch GetValue soll der Wert der Variablen zurückgegeben werden und mit den beiden SetValue Varianten soll der Wert gesetzt werden können. Gibt es in C++ sowas wie Properties in C#? Am liebsten wäre mir ein Zugriff auf die einzelnen Elemente des Arrays a la</p>
<pre><code class="language-cpp">SFColor sfColor;
sfColor[0] = 1f;
cout &lt;&lt; sfColor[2];
</code></pre>
<p>wie kann man das umsetzen? Bin für jegliche Kritik und Anregung bezüglich sauberer Programmierstil, Umsetzung, etc. zu haben.</p>
<pre><code class="language-cpp">// SFColor.h
#ifndef SFCOLOR_H
#define SFCOLOR_H
class SFColor
{
private:
	float value[3];
public:
	SFColor(float r = 0, float g = 0, float b = 0);
	float* GetValue();
	void SetValue(float value[3]);
	void SetValue(float r, float g, float b);
};
#endif

// SFColor.cpp
#include &quot;SFColor.h&quot;

SFColor::SFColor(float r /* = 0 */, float g /* = 0 */, float b /* = 0 */)
{
	SFColor::value[0] = r;
	SFColor::value[1] = g;
	SFColor::value[2] = b;
}

float* SFColor::GetValue()
{
	return SFColor::value;
}

void SFColor::SetValue(float r, float g, float b)
{
	SFColor::value[0] = r;
	SFColor::value[1] = g;
	SFColor::value[2] = b;
}

void SFColor::SetValue(float value[])
{
	SFColor::value[0] = value[0];
	SFColor::value[1] = value[1];
	SFColor::value[2] = value[2];
}

// Main.cpp
#include &lt;iostream&gt;
#include &lt;string&gt;

#include &quot;SFColor.h&quot;

using namespace std;

int main()
{
	SFColor sfColor;
	//sfColor.SetValue(0.5f, 0.8f, 0.4f);
	float aColor[3] = { 0.5f, 0.8f, 0.4f };
	sfColor.SetValue(aColor);
	float* color = sfColor.GetValue();
	cout &lt;&lt; color[0] &lt;&lt; &quot; &quot; &lt;&lt; color[1] &lt;&lt; &quot; &quot; &lt;&lt; color[2] &lt;&lt; &quot;\n&quot;;

	string line = &quot;&quot;;
	cin &gt;&gt; line;
}
</code></pre>
<p>Gruß<br />
Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174224/anfängerprobleme</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 15:34:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174224.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 24 Feb 2007 10:36:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerprobleme on Sat, 24 Feb 2007 10:36:18 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>kann sich den folgenden Code vielleicht bitte mal jemand anschauen der nicht wie ich gerade die mehr oder weniger anfänglichen Schritte in C++ macht. Danke. Also ich habe versucht mir eine eigene Klasse SFColor zu schreiben. Die momentan einzige Variable der Klasse ist ein Array mit drei Werten (rot, grün, blau). Durch GetValue soll der Wert der Variablen zurückgegeben werden und mit den beiden SetValue Varianten soll der Wert gesetzt werden können. Gibt es in C++ sowas wie Properties in C#? Am liebsten wäre mir ein Zugriff auf die einzelnen Elemente des Arrays a la</p>
<pre><code class="language-cpp">SFColor sfColor;
sfColor[0] = 1f;
cout &lt;&lt; sfColor[2];
</code></pre>
<p>wie kann man das umsetzen? Bin für jegliche Kritik und Anregung bezüglich sauberer Programmierstil, Umsetzung, etc. zu haben.</p>
<pre><code class="language-cpp">// SFColor.h
#ifndef SFCOLOR_H
#define SFCOLOR_H
class SFColor
{
private:
	float value[3];
public:
	SFColor(float r = 0, float g = 0, float b = 0);
	float* GetValue();
	void SetValue(float value[3]);
	void SetValue(float r, float g, float b);
};
#endif

// SFColor.cpp
#include &quot;SFColor.h&quot;

SFColor::SFColor(float r /* = 0 */, float g /* = 0 */, float b /* = 0 */)
{
	SFColor::value[0] = r;
	SFColor::value[1] = g;
	SFColor::value[2] = b;
}

float* SFColor::GetValue()
{
	return SFColor::value;
}

void SFColor::SetValue(float r, float g, float b)
{
	SFColor::value[0] = r;
	SFColor::value[1] = g;
	SFColor::value[2] = b;
}

void SFColor::SetValue(float value[])
{
	SFColor::value[0] = value[0];
	SFColor::value[1] = value[1];
	SFColor::value[2] = value[2];
}

// Main.cpp
#include &lt;iostream&gt;
#include &lt;string&gt;

#include &quot;SFColor.h&quot;

using namespace std;

int main()
{
	SFColor sfColor;
	//sfColor.SetValue(0.5f, 0.8f, 0.4f);
	float aColor[3] = { 0.5f, 0.8f, 0.4f };
	sfColor.SetValue(aColor);
	float* color = sfColor.GetValue();
	cout &lt;&lt; color[0] &lt;&lt; &quot; &quot; &lt;&lt; color[1] &lt;&lt; &quot; &quot; &lt;&lt; color[2] &lt;&lt; &quot;\n&quot;;

	string line = &quot;&quot;;
	cin &gt;&gt; line;
}
</code></pre>
<p>Gruß<br />
Patrick</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1234534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1234534</guid><dc:creator><![CDATA[PACoSys]]></dc:creator><pubDate>Sat, 24 Feb 2007 10:36:18 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerprobleme on Sat, 24 Feb 2007 10:45:25 GMT]]></title><description><![CDATA[<p>also properties wie in c# gibts erstmal so nicht.</p>
<p>aber dein problem kann man mit überladen des operator[] lösen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1234539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1234539</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Sat, 24 Feb 2007 10:45:25 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerprobleme on Sat, 24 Feb 2007 12:41:56 GMT]]></title><description><![CDATA[<p>Deine Klasse brauchst einen operator []<br />
z.b</p>
<pre><code>class SFColor
{
private:
    float value[3];
public:
    SFColor(float r = 0, float g = 0, float b = 0);
    float* GetValue();
    void SetValue(float value[3]);
    void SetValue(float r, float g, float b);

    float &amp; operator [] ( int idx ) {
        return value[idx];
    }
};
</code></pre>
<p>dann funktioniert</p>
<pre><code>int main()
{
    SFColor sfColor;

    sfColor[0]= 1.0f;
    cout &lt;&lt; sfColor[0];
}
</code></pre>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1234610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1234610</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 24 Feb 2007 12:41:56 GMT</pubDate></item></channel></rss>