<?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[Zufällige Klasse zuweisen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich möchte einer zunächst unbestimmten Instanz per Zufallsprinzip eine Klasse zuweisen bzw. diese einer KLasse zuweisen. Konkret sieht es wie folgt aus.</p>
<p>Ich habe zwei Klassen <strong>Mann</strong> und <strong>Frau</strong>. Ich möchte jetzt nicht bewusst eine Instanz <em>Mann xyz</em> erstellen, sondern zunächst <em>xyz</em> allein stehen lassen und im späteren Verlauf wirklich Zufällig zu einer Instanz von Mann oder Frau machen. Gibt es da eine Möglichkeit?</p>
<p>Kann man da mit function Templates arbeiten. Ich weiß zwar in etwa wie diese funktionieren, aber so ganz erschließt sich mir der Sinn dann doch nicht. Oder ist das der falsche Weg?</p>
<p>Gruß<br />
pluxyy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/336948/zufällige-klasse-zuweisen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 15:14:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/336948.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Feb 2016 20:28:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Thu, 25 Feb 2016 20:28:12 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich möchte einer zunächst unbestimmten Instanz per Zufallsprinzip eine Klasse zuweisen bzw. diese einer KLasse zuweisen. Konkret sieht es wie folgt aus.</p>
<p>Ich habe zwei Klassen <strong>Mann</strong> und <strong>Frau</strong>. Ich möchte jetzt nicht bewusst eine Instanz <em>Mann xyz</em> erstellen, sondern zunächst <em>xyz</em> allein stehen lassen und im späteren Verlauf wirklich Zufällig zu einer Instanz von Mann oder Frau machen. Gibt es da eine Möglichkeit?</p>
<p>Kann man da mit function Templates arbeiten. Ich weiß zwar in etwa wie diese funktionieren, aber so ganz erschließt sich mir der Sinn dann doch nicht. Oder ist das der falsche Weg?</p>
<p>Gruß<br />
pluxyy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488621</guid><dc:creator><![CDATA[pluxyy]]></dc:creator><pubDate>Thu, 25 Feb 2016 20:28:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Thu, 25 Feb 2016 20:31:48 GMT]]></title><description><![CDATA[<p>pluxyy schrieb:</p>
<blockquote>
<p>Kann man da mit function Templates arbeiten. Ich weiß zwar in etwa wie diese funktionieren, aber so ganz erschließt sich mir der Sinn dann doch nicht. Oder ist das der falsche Weg?</p>
</blockquote>
<p>Vielleicht, vielleicht nicht. Mir fallen mehrere verschiedene Möglichkeiten ein, wie man das machen könnte und mir fallen noch viel Möglichkeiten ein, <a href="http://xyproblem.info/" rel="nofollow">wieso du wahrscheinlich die falsche Frage stellst</a>. Je genauer du dein <em>eigentliches</em> Problem beschreibst, desto besser kann man dir helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488624</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 25 Feb 2016 20:31:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Thu, 25 Feb 2016 21:10:18 GMT]]></title><description><![CDATA[<p>pluxyy schrieb:</p>
<blockquote>
<p>Ich habe zwei Klassen <strong>Mann</strong> und <strong>Frau</strong>. Ich möchte jetzt nicht bewusst eine Instanz <em>Mann xyz</em> erstellen, sondern zunächst <em>xyz</em> allein stehen lassen und im späteren Verlauf wirklich Zufällig zu einer Instanz von Mann oder Frau machen.</p>
</blockquote>
<p>Und was ist <code>xyz</code> in der Zwischenzeit? Als was soll es verwendet werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488629</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Thu, 25 Feb 2016 21:10:18 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Thu, 25 Feb 2016 21:36:12 GMT]]></title><description><![CDATA[<p>xyz ist zunächst undefiniert. Es wird ja zunächst auch nicht gebraucht. was ich will ist etwas in Richtung</p>
<p><strong>random_class(Mann oder Frau) xyz;</strong><br />
Ich will nur, dass es keine Beeinflussung seitens des Programmierers gibt, welche Klasse ausgewählt wird.</p>
<p>Ich sags mal so, zunächst ist xyz vllt. einfach nur ein Mensch (evtl. auch eine Klasse) und irgenwann wird per Zufallsprinzip entschieden, dass xyz z.B. ein Mann (evtl. Mann-Klasse Kindklasse von Mensch ) sein soll. Dann hat xyz andere Eigenschaften.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488635</guid><dc:creator><![CDATA[pluxyy]]></dc:creator><pubDate>Thu, 25 Feb 2016 21:36:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Thu, 25 Feb 2016 21:52:33 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Je genauer du dein <em>eigentliches</em> Problem beschreibst, desto besser kann man dir helfen.</p>
</blockquote>
<p>Du bemühst dich gerade, das Gegenteil zu erreichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488641</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 25 Feb 2016 21:52:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Thu, 25 Feb 2016 22:23:25 GMT]]></title><description><![CDATA[<p>Hmm, spontan würde ich sagen du brauchst eine Basisklasse Mensch, von der Mann und Frau erben. Dadurch hättest du dann eine Variable xyz vom Typ Mensch, der du random eine Instanz entweder von Mann oder Frau zuweisen kannst. Allerdings kann der Zugriff auf spezielle Klassenfunktionen recht umständlich sein, weil du dafür xyz unter Umständen direkt casten musst.<br />
Beschreib mal das Problem genauer, also was du damit erreichen willst und warum, dann kann man besser helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488650</guid><dc:creator><![CDATA[Cherup]]></dc:creator><pubDate>Thu, 25 Feb 2016 22:23:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Thu, 25 Feb 2016 22:56:35 GMT]]></title><description><![CDATA[<p>Eine Basisklasse Mensch wollte ich auch vorschlagen. Da kannst du dann ausser Mann und Frau auch noch nachträglich Zwischenstadien hinzufügen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488656</guid><dc:creator><![CDATA[EOP_hat_wiedermal]]></dc:creator><pubDate>Thu, 25 Feb 2016 22:56:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Fri, 26 Feb 2016 09:34:35 GMT]]></title><description><![CDATA[<p>Eine Variable mit mehreren möglichen Typen kann man zum Beispiel mit <code>variant</code> erreichen:</p>
<pre><code class="language-cpp">//optional, damit nicht standardmäßig ein &quot;Mann&quot; konstruiert wird
boost::optional&lt;boost::variant&lt;Mann, Frau&gt;&gt; xyz;
...

if (irgendwas)
{
  xyz = Mann();
}
else
{
  xyz = Frau();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2488692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488692</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Fri, 26 Feb 2016 09:34:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Fri, 26 Feb 2016 20:02:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class C1 { public: string s = &quot;C1&quot;; };
class C2 { public: string s = &quot;C2&quot;; };
class C : C1, C2 {};

int main(void)
{
  int i = 0;
  while (i++ &lt; 10)
  {
    int r = rand()%2;
    C* p = r ? (C*)(new C1) : (C*)(new C2);
    cout &lt;&lt; (r ? ((C1*)p)-&gt;s : ((C2*)p)-&gt;s) &lt;&lt; &quot;\n&quot;;
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2488772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488772</guid><dc:creator><![CDATA[klassenmethode]]></dc:creator><pubDate>Fri, 26 Feb 2016 20:02:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Fri, 26 Feb 2016 20:10:38 GMT]]></title><description><![CDATA[<p>klassenmethode schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class C1 { public: string s = &quot;C1&quot;; };
class C2 { public: string s = &quot;C2&quot;; };
class C : C1, C2 {};

int main(void)
{
  int i = 0;
  while (i++ &lt; 10)
  {
    int r = rand()%2;
    C* p = r ? (C*)(new C1) : (C*)(new C2);
    cout &lt;&lt; (r ? ((C1*)p)-&gt;s : ((C2*)p)-&gt;s) &lt;&lt; &quot;\n&quot;;
  }
}
</code></pre>
</blockquote>
<p>löl.<br />
Dem habe ich nichts hinzuzufügen, außer der Kleinigkeit, '\n' statt &quot;\n&quot; zu nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488774</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 26 Feb 2016 20:10:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Fri, 26 Feb 2016 21:00:28 GMT]]></title><description><![CDATA[<p>oder meint er so was?</p>
<pre><code class="language-cpp">class D { public: virtual string f(void){} };
class D1 : D { public: string f(void){ return &quot;D1&quot;; } };
class D2 : D { public: string f(void){ return &quot;D2&quot;; } };

int main(void)
{
  int i = 0;
  while (i++ &lt; 10)
  {
    D* q = rand()%2 ? (D*)(new D1) : (D*)(new D2);
    cout &lt;&lt; q-&gt;f() &lt;&lt; endl;
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2488788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488788</guid><dc:creator><![CDATA[klassenmethode]]></dc:creator><pubDate>Fri, 26 Feb 2016 21:00:28 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Fri, 26 Feb 2016 21:02:59 GMT]]></title><description><![CDATA[<p>Du hast die Smartpointer vergessen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488790</guid><dc:creator><![CDATA[Techel]]></dc:creator><pubDate>Fri, 26 Feb 2016 21:02:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Fri, 26 Feb 2016 21:06:42 GMT]]></title><description><![CDATA[<p>Und bitte nicht (void) schreiben, wenn in C++ () dasselbe aussagt. Plattenplatz ist teuer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488791</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 26 Feb 2016 21:06:42 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Sat, 27 Feb 2016 00:02:16 GMT]]></title><description><![CDATA[<p>warum wäre sowas jetzt eine schlechte Idee?</p>
<pre><code>enum class Geschlecht {
    Mann, Frau
}

class Mensch {
    Mensch(Geschlecht geschlecht);
// ...
    Geschlecht geschlecht;
}

// ....
auto geschlecht = static_cast&lt;Geschlecht&gt;(&lt;random int between 0 and 1&gt;);
Mensch mensch(geschlecht)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2488801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488801</guid><dc:creator><![CDATA[HarteWare]]></dc:creator><pubDate>Sat, 27 Feb 2016 00:02:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Sat, 27 Feb 2016 00:18:41 GMT]]></title><description><![CDATA[<p>HarteWare schrieb:</p>
<blockquote>
<p>warum wäre sowas jetzt eine schlechte Idee?</p>
</blockquote>
<p>Wir wissen es nicht. Der Threadersteller wurde mehrmals nach Details gefragt, hat aber nicht geliefert. Welche der vielen möglichen Lösungen passend ist, kann daher nicht gesagt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2488802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2488802</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 27 Feb 2016 00:18:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Tue, 01 Mar 2016 10:54:40 GMT]]></title><description><![CDATA[<p>Entschuldigt bitte, dass ich mich jetzt erst wieder melde. Das war unhöflich von mir. klassenmethode's Anwort war vollkommen ausreichen, vielen dank dafür!</p>
<p>Gibt es hier eigentlich ein Belohungs bzw. Bewertungsystem? Dann könnte ich auch einen kleinen Tribut zollen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2489074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2489074</guid><dc:creator><![CDATA[pluxyy]]></dc:creator><pubDate>Tue, 01 Mar 2016 10:54:40 GMT</pubDate></item><item><title><![CDATA[Reply to Zufällige Klasse zuweisen on Tue, 01 Mar 2016 12:15:27 GMT]]></title><description><![CDATA[<p>Aber ernsthaft, er hat die Smartpointer vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2489087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2489087</guid><dc:creator><![CDATA[Techel]]></dc:creator><pubDate>Tue, 01 Mar 2016 12:15:27 GMT</pubDate></item></channel></rss>