<?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[Einige Anfängerfragen zu Klassen]]></title><description><![CDATA[<p>Hallo erstmal,</p>
<p>Ich habe von C++ leider nur Grundkenntnisse, also verzeiht mir bitte, falls meine Fragen trivial erscheinen. Ich plane gerade ein kleines Programm, für das 4 Dinge nötig wären, von denen ich nicht weiß, wie ich sie verwirklichen kann.</p>
<p>1. ich habe eine Klasse mit 16 Instanzen. Jede dieser Instanzen hat einige Variablen und Funktionen. Diese Funktionen müssten aber auch die jeweiligen Variablen der anderen Instanzen einsehen und ggf. verändern können.</p>
<p>Sprich: eine Funktion will zum Beispiel alle Variablen a aus allen Instanzen einlesen, zusammenrechnen und dann in die Variable b einer bestimmten Instanz schreiben. Ist das möglich und vielleicht sogar automatisierbar, so dass ich nicht jede einzelne Variable einzeln reinschreiben muss?</p>
<p>2. gibt es ein Befehl dafür eine bestimmte Funktion aus allen Instanzen gleichzeitig aufzurufen?</p>
<p>3. wie kann ich aus 16 int-Variablen am besten die mit dem höchsten Wert herausfinden?</p>
<p>4. was ist die beste Möglichkeit um einen Zufallswert zu generieren - also tumb Beispiel eine ganze Zahl zwischen 1 und 5?</p>
<p>Ich würde mich sehr über eure Hilfe freuen - gerne auch mit Links zu Tutorials, falls etwas ein bisschen schwieriger zu erklären ist.</p>
<p>LG,</p>
<p>Mike</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/309311/einige-anfängerfragen-zu-klassen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 03 Aug 2026 16:43:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309311.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Oct 2012 11:47:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 19 Oct 2012 11:47:39 GMT]]></title><description><![CDATA[<p>Hallo erstmal,</p>
<p>Ich habe von C++ leider nur Grundkenntnisse, also verzeiht mir bitte, falls meine Fragen trivial erscheinen. Ich plane gerade ein kleines Programm, für das 4 Dinge nötig wären, von denen ich nicht weiß, wie ich sie verwirklichen kann.</p>
<p>1. ich habe eine Klasse mit 16 Instanzen. Jede dieser Instanzen hat einige Variablen und Funktionen. Diese Funktionen müssten aber auch die jeweiligen Variablen der anderen Instanzen einsehen und ggf. verändern können.</p>
<p>Sprich: eine Funktion will zum Beispiel alle Variablen a aus allen Instanzen einlesen, zusammenrechnen und dann in die Variable b einer bestimmten Instanz schreiben. Ist das möglich und vielleicht sogar automatisierbar, so dass ich nicht jede einzelne Variable einzeln reinschreiben muss?</p>
<p>2. gibt es ein Befehl dafür eine bestimmte Funktion aus allen Instanzen gleichzeitig aufzurufen?</p>
<p>3. wie kann ich aus 16 int-Variablen am besten die mit dem höchsten Wert herausfinden?</p>
<p>4. was ist die beste Möglichkeit um einen Zufallswert zu generieren - also tumb Beispiel eine ganze Zahl zwischen 1 und 5?</p>
<p>Ich würde mich sehr über eure Hilfe freuen - gerne auch mit Links zu Tutorials, falls etwas ein bisschen schwieriger zu erklären ist.</p>
<p>LG,</p>
<p>Mike</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262045</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Fri, 19 Oct 2012 11:47:39 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 19 Oct 2012 12:01:15 GMT]]></title><description><![CDATA[<p>Die Fragen deuten irgendwie alle darauf hin, dass du Arrays bzw. Container-Klassen noch nicht kennst? Sonst beantworten sich 1-3 nämlich von selbst..</p>
<pre><code class="language-cpp">#include &lt;array&gt;

std::array&lt;int, 16&gt; a;
</code></pre>
<p>Einen Zufallswert zwischen 1 und 5 generiert man so:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;random&gt;

int main()
{
  std::random_device seeder;
  std::default_random_engine e(seeder()); // Oder mit irgendetwas anderem &quot;seeden&quot;
  std::uniform_int_distribution&lt;unsigned&gt; d(1, 5);

  for (unsigned i = 10; i-- != 0; )
    std::cout &lt;&lt; d(e) &lt;&lt; '\n';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2262050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262050</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 19 Oct 2012 12:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 19 Oct 2012 12:31:40 GMT]]></title><description><![CDATA[<p>Hi Cooky und vielen Dank für deine Antwort. Containerklassen kenne ich tatsächlich nicht. Arrays eigentlich schon, aber bisher nicht im Bezug auf die Variablen verschiedener Klassen - sondern eben lediglich als &quot;Liste&quot; verschiedener globalen Variablen. Da werde ich mich hier wohl nochmal genauer in die Materie einlesen. Hast du einen guten Tipp für ein tolles Tutorial? Sonst werde ich schon irgendwo eines finden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262059</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Fri, 19 Oct 2012 12:31:40 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 19 Oct 2012 12:39:47 GMT]]></title><description><![CDATA[<p>Likemike schrieb:</p>
<blockquote>
<p>Arrays eigentlich schon, aber bisher nicht im Bezug auf die Variablen verschiedener Klassen</p>
</blockquote>
<p>Hä? Ich dachte du hast mehrere Instanzen <strong>einer</strong> Klasse? -</p>
<p>Likemike schrieb:</p>
<blockquote>
<p>sondern eben lediglich als &quot;Liste&quot; verschiedener globalen Variablen.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Was haben globale Variablen jetzt damit zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262065</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 19 Oct 2012 12:39:47 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 19 Oct 2012 12:42:17 GMT]]></title><description><![CDATA[<p>Likemike schrieb:</p>
<blockquote>
<p>Hi Cooky und vielen Dank für deine Antwort. Containerklassen kenne ich tatsächlich nicht. Arrays eigentlich schon, aber bisher nicht im Bezug auf die Variablen verschiedener Klassen - sondern eben lediglich als &quot;Liste&quot; verschiedener globalen Variablen. Da werde ich mich hier wohl nochmal genauer in die Materie einlesen. Hast du einen guten Tipp für ein tolles Tutorial? Sonst werde ich schon irgendwo eines finden...</p>
</blockquote>
<p>Hallo Likemike,<br />
1. Ein Tipp für ein Tutorial wird dir hier niemand geben. Nicht weil wir nicht wollen, sondern weil es keine guten Tutorials gibt. Hier werden nur Buchempfehlungen gegeben (siehe FAQ).<br />
2. Streng genommen solltest du ein Array nicht als eine Liste von Etwas betrachten. Eine Liste kann beliebig viele Einträge haben. Die Anzahl Einträge eines Arrays ist stets fest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262067</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Fri, 19 Oct 2012 12:42:17 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 19 Oct 2012 14:11:35 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Likemike schrieb:</p>
<blockquote>
<p>Arrays eigentlich schon, aber bisher nicht im Bezug auf die Variablen verschiedener Klassen</p>
</blockquote>
<p>Hä? Ich dachte du hast mehrere Instanzen <strong>einer</strong> Klasse? -</p>
<p>Likemike schrieb:</p>
<blockquote>
<p>sondern eben lediglich als &quot;Liste&quot; verschiedener globalen Variablen.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Was haben globale Variablen jetzt damit zu tun?</p>
</blockquote>
<p>Ah, tut mir leid, hab mich falsch ausgedrückt. Natürlich geht es um verschiedene Instanzen einer Klasse. Wie du siehst kenne ich mich mit Arrays nicht wirklich gut aus. Ich habe sie zumindest noch nie in so einer Weise verwendet und weiß auch auf Anhieb nicht wie - da muss ich mich jetzt halt erstmal ein bißchen reinlesen.</p>
<p>Was mir nur noch nicht so ganz klar ist: wie rufe ich denn eine Funktion in allen Instanzen gleichzeitig aus? Funktionen kann ich ja nicht in ein Array packen, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262086</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Fri, 19 Oct 2012 14:11:35 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 19 Oct 2012 14:21:07 GMT]]></title><description><![CDATA[<p>Likemike schrieb:</p>
<blockquote>
<p>Was mir nur noch nicht so ganz klar ist: wie rufe ich denn eine Funktion in allen Instanzen gleichzeitig aus? Funktionen kann ich ja nicht in ein Array packen, oder?</p>
</blockquote>
<p>Hat cooky451 eigentlich schon gezeigt:</p>
<pre><code class="language-cpp">class A
{
public:
	void Funktion()
	{
	}
};

int main()
{
	std::array&lt;A,16&gt; ar; // Falls du std::array nicht verwenden kannst, nimmst du std::vector.

	for(int i=0; i&lt;ar.size(); ++i)
	{
		ar[i].Funktion();
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2262087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262087</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Fri, 19 Oct 2012 14:21:07 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 14:10:12 GMT]]></title><description><![CDATA[<p>Vielen Dank noch einmal für eure Hilfe... ich komme allerdings nicht so gut mit dem letzten Codebeispiel klar.</p>
<p>Wenn ich das richtig verstehe, dann erstellst du hier ein Array der Größe 16 Namens ar, in dem die 16 Instanzen der Klasse sind. Mit der for Schleife springst du von einer Instanz nur nächsten und führst da jeweils die Funktion aus.</p>
<p>Ich habe das gerade bei mir versucht, allerdings nicht mit Funktionen, sondern mit int Variablen. Sprich:</p>
<pre><code>array&lt;A,10&gt; ar;

    for(int i=0; i&lt;ar.size(); ++i)
    {

		if (ar[i].flag==&quot;b&quot;)
			result=result+ar[i].number;

    }
</code></pre>
<p>Das scheint aber so nicht zu funktionieren - muss ich die Variable innerhalb der Instanz anders ansprechen, oder habe ich insgesamt einen Denkfehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262313</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Sat, 20 Oct 2012 14:10:12 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 14:16:12 GMT]]></title><description><![CDATA[<p>Likemike schrieb:</p>
<blockquote>
<p>Wenn ich das richtig verstehe, dann erstellst du hier ein Array der Größe 16 Namens ar, in dem die 16 Instanzen der Klasse sind. Mit der for Schleife springst du von einer Instanz nur nächsten und führst da jeweils die Funktion aus.</p>
</blockquote>
<p>Perfekt erklärt.</p>
<p>Zeig mal die Definition deiner Klasse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262314</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 20 Oct 2012 14:16:12 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 14:18:18 GMT]]></title><description><![CDATA[<p>&quot;funktioniert nicht&quot; ist keine Fehlerbeschreibung.</p>
<p>Ist doch gut, dass es nicht funktioniert, denn, wenn man private-Member (ich hoffe, du hast number und flag private gemacht) ansprechen könnte, wären Klassen nutzlos. Mach dir entweder eine Funktion, mit der du den Wert von number ändern kannst oder nimm direkt eine struct, wenn es dir tatsächlich nur um die Zusammenfassung von Daten geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262315</guid><dc:creator><![CDATA[Der Tobi]]></dc:creator><pubDate>Sat, 20 Oct 2012 14:18:18 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 14:29:20 GMT]]></title><description><![CDATA[<p>Ne, bei mir ist nichts privat <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="😉"
    /> . Ich probiere ja im Moment erst mal ein bißchen rum, um mit den ganzen Funktionen vertraut zu werden. Aber ich versuche ja auch gar nicht Variablen der Klasse zu ändern, sondern nur sie einzulesen.<br />
Nur scheinbar kann ich mit dem Code nicht auf die Variablen der einzelnen Instanzen zugreifen - wenn ich den Wert der Variable ausgeben will, kommt immer -858...</p>
<p>Sprich, eigentlich würde ich gerne die verschiedenen number Variablen aus allen Instanzen der Klasse A zusammenrechnen, deren flag Variable &quot;b&quot; ist.</p>
<pre><code>class A
{	
public:
	string flag;
	int number;
};

int main()

A One;

One.flag=&quot;b&quot;;
One.number=4;

A Two;

Two.flag=&quot;a&quot;;
Two.number=2;

A Three;

Three.flag=&quot;b&quot;;
Three.number=8;

A Four;

Four.flag=&quot;a&quot;;
Four.number=5;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2262317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262317</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Sat, 20 Oct 2012 14:29:20 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 14:39:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int main()
{
	A One;

	One.flag=&quot;b&quot;;
	One.number=4;

	A Two;

	Two.flag=&quot;a&quot;;
	Two.number=2;

	A Three;

	Three.flag=&quot;b&quot;;
	Three.number=8;

	A Four;

	Four.flag=&quot;a&quot;;
	Four.number=5;

	array&lt;A,4&gt; ar = {One,Two,Three,Four};
	int result = 0;
    for(int i=0; i&lt;ar.size(); ++i)
    {
        if (ar[i].flag==&quot;b&quot;)
            result=result+ar[i].number;
    } 
	cout &lt;&lt; result;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2262318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262318</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 20 Oct 2012 14:39:05 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 14:43:22 GMT]]></title><description><![CDATA[<p>Ah, vielen Dank! So funktionierts... ich wusste nicht, dass ich die einzelnen Instanzen selbst reinpacken muss, aber eigentlich macht das auch Sinn!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262319</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Sat, 20 Oct 2012 14:43:22 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 14:46:35 GMT]]></title><description><![CDATA[<p>Likemike schrieb:</p>
<blockquote>
<p>Ah, vielen Dank! So funktionierts... ich wusste nicht, dass ich die einzelnen Instanzen selbst reinpacken muss, aber eigentlich macht das auch Sinn!</p>
</blockquote>
<p>Geld musst du auch selbst in deinen Geldbeutel tun, das fliegt auch net von selbst rein. <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/2262321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262321</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 20 Oct 2012 14:46:35 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 15:14:38 GMT]]></title><description><![CDATA[<p>Ja, das stimmt wohl leider <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>So, nächstes kleines Problem: jetzt möchte ich gerne eine Variable in der Instanz der Klasse verändern - und dafür verwende ich eine Funktion in der Klasse:</p>
<pre><code>class A
{   
public:
    string flag;
    int number;
int apple;
int banana;
int gesamt;

void Funktion();
	{gesamt=apple + banana;
	}
};

int main()
{
    A One;

    One.flag=&quot;b&quot;;
    One.number=4;
One.apple=2;
One.banana=3;
One.gesamt=0;

    A Two;

    Two.flag=&quot;a&quot;;
    Two.number=2;
Two.apple=5;
Two.banana=8;
Two.gesamt=0;

array&lt;A,2&gt; ar = {One,Two};
    for(int i=0; i&lt;ar.size(); ++i)
    {
        ar[i].Funktion(); 
		}

cout &lt;&lt; One.gesamt &lt;&lt; endl &lt;&lt; Two.gesamt
</code></pre>
<p>Die Funktion wird zwar korrekt ausgeführt, nur die Variable der einzelnen Instanzen wird nicht verändert - woran liegt das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262323</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Sat, 20 Oct 2012 15:14:38 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 15:23:44 GMT]]></title><description><![CDATA[<p>Likemike schrieb:</p>
<blockquote>
<pre><code>array&lt;A,2&gt; ar = {One,Two};
</code></pre>
<p>Die Funktion wird zwar korrekt ausgeführt, nur die Variable der einzelnen Instanzen wird nicht verändert - woran liegt das?</p>
</blockquote>
<p><code>=</code> macht eine Kopie. Sprich <code>One</code> und <code>Two</code> werden kopiert, sprich <code>ar[0]</code> und <code>ar[1]</code> haben nichts mehr mit <code>One</code> und <code>Two</code> am Hut. Sprich du musst dann schon <code>ar[0].gesamt</code> ausgeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262327</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 20 Oct 2012 15:23:44 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 15:30:16 GMT]]></title><description><![CDATA[<p>Ah, ok, das wusste ich nicht. Ist es denn auch möglich die Variable in der Originalinstanz zu verändern - oder müsste ich dafür in der for-Schleife das jeweils anordnen, etwa so:</p>
<pre><code>array&lt;A,2&gt; ar = {One,Two};
    for(int i=0; i&lt;ar.size(); ++i)
    {
        ar[i].Funktion();
One.gesamt=ar[0].gesamt;
Two.gesamt=ar[1].gesamt;
        }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2262328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262328</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Sat, 20 Oct 2012 15:30:16 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 15:34:44 GMT]]></title><description><![CDATA[<p>Likemike schrieb:</p>
<blockquote>
<p>Ah, ok, das wusste ich nicht. Ist es denn auch möglich die Variable in der Originalinstanz zu verändern.</p>
</blockquote>
<p>Ne. Container können keine Referenzen aufnehmen. D.h. du müsstest Zeiger auf One und Two speichern.</p>
<p>Likemike schrieb:</p>
<blockquote>
<pre><code>array&lt;A,2&gt; ar = {One,Two};
    for(int i=0; i&lt;ar.size(); ++i)
    {
        ar[i].Funktion();
One.gesamt=ar[0].gesamt;
Two.gesamt=ar[1].gesamt;
        }
</code></pre>
</blockquote>
<p>So gehts natürlich auch, allerdings ändert das nichts daran, dass die Elemente des Arrays und die beiden Objekte unabhängig voneinander sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262330</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 20 Oct 2012 15:34:44 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 18:20:38 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Likemike schrieb:</p>
<blockquote>
<p>Ah, ok, das wusste ich nicht. Ist es denn auch möglich die Variable in der Originalinstanz zu verändern.</p>
</blockquote>
<p>Ne. Container können keine Referenzen aufnehmen. D.h. du müsstest Zeiger auf One und Two speichern.</p>
</blockquote>
<p><a href="http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper" rel="nofollow">http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262370</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 20 Oct 2012 18:20:38 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Sat, 20 Oct 2012 19:15:40 GMT]]></title><description><![CDATA[<p>Vielen Dank für den letzten Link... so ganz verstehe ich das da noch nicht, aber ich werde mal versuchen mich reinzulesen.</p>
<p>Ich wollte gerade mal das Programm ein bißchen aufräumen und Funktionen, die nicht Teil einer Klasse sind in einer Header Datei auslagern... wie bekomme ich es denn hin, dass er die in der main Funktion erst definierten Klassen und Werte in der Funktion übernimmt? Also zum Beispiel das hier in die Header Datei packt:</p>
<pre><code>void apfelzaehler()
{
   for(int i=0; i&lt;ar.size(); ++i)
    {
        allapples=One.apple+Two.apple;
        }
}
</code></pre>
<p>Und ich diese Funktion in der mein Funktion aufrufen kann (natürlich erst nachdem das Array ar und die beiden Instanzen One und Two definiert wurden)? Ist das überhaupt möglich, oder muss solche Funktionen in der main Funktion lassen?</p>
<p>Oder kann ich vielleicht sogar die Instanzen der Klasse direkt irgendwie in der Header-Datei erstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262377</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Sat, 20 Oct 2012 19:15:40 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 07 Dec 2012 18:29:11 GMT]]></title><description><![CDATA[<p>So, ich melde mich nach langer Zeit nochmal zurück, dafür mit dem altbekannten Problem.</p>
<p>Also ich würde gerne eine Funktion in der Header-Datei konfigurieren, die auf das Klassen-Array aus der int main() zugreift. Dafür muss ich ja, soweit ich weiß, einfach das Klassen-Array an die Funktion übergeben. Nur wie genau definiere ich das?</p>
<p>void apfelzaehler(Klasse ar[])</p>
<p>{...}</p>
<p>Hätte ich jetzt gedacht - also in der Klammer einmal den Namen der Klasse und dahinter einen von mir gewählten Begriff, wie das Array in der Funktion heißen soll, und die beiden [] um zu zeigen, dass es ein Array ist. Soweit noch alles richtig, oder habe ich hier schon einen Fehler gemacht? Ich habe auch schon versucht, die Größe des Arrays in die [] zu schreiben, aber das hat auch nicht geholfen.</p>
<p>Vielleicht ist aber auch mein Fehler erst beim Aufrufen. Um diese Funktion in meiner Main aufzurufen habe ich einfach:</p>
<p>apfelzaehler(ar);</p>
<p>geschrieben (ar heißt auch das Array in der Main).</p>
<p>Kann mir jemand vielleicht helfen und sagen, wo genau mein Fehler liegt?</p>
<p>Danke schon mal!</p>
<p>Mike</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2278241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2278241</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Fri, 07 Dec 2012 18:29:11 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 07 Dec 2012 18:41:50 GMT]]></title><description><![CDATA[<p>Manchmal hilft es schon die Frage zu formulieren, um die Antwort zu erhalten...</p>
<p>Kurz gesagt, ich habs grad selbst rausgefunden - mein Fehler war:</p>
<p>void apfelzaehler(Klasse ar[]) - ist falsch<br />
void apfelzaehler(array&lt;Klasse, 16&gt; ar) -ist richtig.</p>
<p>Was ich allerdings nicht bedacht habe - ich übergebe ja so nur die Werte an die Funktion - in meinem Array in der Main verändert sich dadurch natürlich nichts. Also muss ich wohl etwas zurückgeben. Nur wie gebe ich das so zurück, dass praktisch dass Array in der Funktion, das Array in der Main überschreibt (bzw. nur die Werte, die sich in der Funktion verändert haben)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2278245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2278245</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Fri, 07 Dec 2012 18:41:50 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 07 Dec 2012 18:43:59 GMT]]></title><description><![CDATA[<p>Indem zu das std::array per Referenz an die Funktion übergibst!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2278246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2278246</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 07 Dec 2012 18:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to Einige Anfängerfragen zu Klassen on Fri, 07 Dec 2012 20:03:12 GMT]]></title><description><![CDATA[<p>Erst mal vielen Dank Decimad. Ich bin mir nicht ganz sicher, ob du deine Antwort schon geschrieben hattest, bevor ich meine 2. geschrieben habe, oder ob es die Antwort auf meine 2. Frage war...</p>
<p>ich übergebe das Array an die Funktion, und zwar bisher so:</p>
<p>apfelzaehler(ar);</p>
<p>Ist daran schon etwas falsch? Wie gesagt, in der Funktion wird auch alles richtig berechnet, nur das ändert eben nichts an dem array in der Main - wie gesagt, ich muss die Werte wohl zurückgeben, damit sie im Ursprungsarray überschrieben werden - nur weiß ich leider nicht wie.</p>
<p>Edit: Fehler im Code verbessert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2278260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2278260</guid><dc:creator><![CDATA[Likemike]]></dc:creator><pubDate>Fri, 07 Dec 2012 20:03:12 GMT</pubDate></item></channel></rss>