<?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[Objekte verheiratet - Wie am besten moddelieren ?]]></title><description><![CDATA[<p>Hi,</p>
<p>ne Frage die mir heute irgendwie eingefallen ist:</p>
<pre><code class="language-cpp">class Mensch {
   // ...
};

//...

Mensch Tina,Chris;

heiraten(Tina,Chris);
</code></pre>
<p>Wie sollte am besten Mensch dafür aussehen ?<br />
Vllt so:</p>
<pre><code class="language-cpp">class Mensch {
   Mensch* lebenspartner;
};

void heiraten(const Mensch&amp; a, const Mensch&amp; b)
{
    a.setPartner(&amp;b);
    b.setPartner(&amp;a);
}
</code></pre>
<p>Oder wie stellt man am besten so eine Beziehung dar ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/183687/objekte-verheiratet-wie-am-besten-moddelieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 10:01:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183687.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 Jun 2007 15:32:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Thu, 07 Jun 2007 15:32:24 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ne Frage die mir heute irgendwie eingefallen ist:</p>
<pre><code class="language-cpp">class Mensch {
   // ...
};

//...

Mensch Tina,Chris;

heiraten(Tina,Chris);
</code></pre>
<p>Wie sollte am besten Mensch dafür aussehen ?<br />
Vllt so:</p>
<pre><code class="language-cpp">class Mensch {
   Mensch* lebenspartner;
};

void heiraten(const Mensch&amp; a, const Mensch&amp; b)
{
    a.setPartner(&amp;b);
    b.setPartner(&amp;a);
}
</code></pre>
<p>Oder wie stellt man am besten so eine Beziehung dar ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300830</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 07 Jun 2007 15:32:24 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Thu, 07 Jun 2007 15:35:19 GMT]]></title><description><![CDATA[<p>Einfach ein pointer auf den anderen Menschen...oder wenn du einen Index vergibst...speicher halt den Index vom Partner ab...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300833</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Thu, 07 Jun 2007 15:35:19 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Thu, 07 Jun 2007 15:36:03 GMT]]></title><description><![CDATA[<p>Kurzfassung: Ja</p>
<p>Langfassung: Ja, so hätte ich es wohl auch modelliert (eventuell mit einigen Abfragen, damit niemand sich selber heiraten kann etc).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300834</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 07 Jun 2007 15:36:03 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Thu, 07 Jun 2007 15:42:36 GMT]]></title><description><![CDATA[<p>Wenn ihr das so sagt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Dann kann ich heute ja beruhigt schlafen gehen ...</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>... etc.</p>
</blockquote>
<p>Ganze etc wurde mal weggelassen <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/1300838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300838</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 07 Jun 2007 15:42:36 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Thu, 07 Jun 2007 15:58:00 GMT]]></title><description><![CDATA[<p>Mir gefällt's bessere wenn man solche Symetrien von einer dritten Grösse verwalten lässt; hier kommt die Klasse &quot;Mensch&quot; in Betracht die Indices verwaltet.<br />
(Oder halt das Standesamt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> )</p>
<p>Das Entkoppeln solch Symetrien (hier Scheidung, Todesfall) wird nämlich spätestens dann unlustig wenn Nebenläufigkeit ins Spiel kommt.</p>
<p>Grüsse</p>
<p>*this</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300848</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Thu, 07 Jun 2007 15:58:00 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Thu, 07 Jun 2007 16:46:33 GMT]]></title><description><![CDATA[<p>Gast++ schrieb:</p>
<blockquote>
<p>Mir gefällt's bessere wenn man solche Symetrien von einer dritten Grösse verwalten lässt; hier kommt die Klasse &quot;Mensch&quot; in Betracht die Indices verwaltet.<br />
(Oder halt das Standesamt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> )</p>
</blockquote>
<p>Hmmm, das mit dem dritten gefällt mir viel besser. Naja es kommt auch darauf an, wie komplex dann sowas werden sollte etc ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300875</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 07 Jun 2007 16:46:33 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Thu, 07 Jun 2007 21:11:20 GMT]]></title><description><![CDATA[<p>in Programmiersprache Objekte heiraten lassen? hahahaha das ist so lustig!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1300998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1300998</guid><dc:creator><![CDATA[loler]]></dc:creator><pubDate>Thu, 07 Jun 2007 21:11:20 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Thu, 07 Jun 2007 21:15:29 GMT]]></title><description><![CDATA[<p>und wenn die einen Kind kriegen, wird die gene geerbt!</p>
<p>class Kind : public Tina, public Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301000</guid><dc:creator><![CDATA[loler]]></dc:creator><pubDate>Thu, 07 Jun 2007 21:15:29 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 07:42:20 GMT]]></title><description><![CDATA[<p>Und wenn Schreiben vielen blödsinn dann auch Brauchen nix grammatik Deutsches.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301098</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 08 Jun 2007 07:42:20 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 08:43:56 GMT]]></title><description><![CDATA[<p>da lebensgemeinschaften eigentlich abstrakte konzepte einer gesellschaft sind (familien, eheverhältnisse, was auch immer), und nichts mit dem menschen im eigentlichen sinne zutun haben.<br />
würd ichs auch als solches modellieren.</p>
<pre><code class="language-cpp">class lebensgemeinschaft
{
 //irgend n interface
};

class mensch
{
 //keine info über mann, frau, kind
 //eher vielleicht pointer auf die lebensgemeinschaften in denen sich dieser mensch bewegt
 lebensgemeinschaft* ehe;
 lebensgemeinschaft* familie;
};

class christiliche_ehe: public lebensgemeinschaft
{
 //impl details
 mensch m_mann
 mensch m_frau; 
};

class mormonische_ehe: public lebensgemeinschaft
{
 //impl details
 mensch m_mann;
 mensch m_frau[3];
};

class familie: public lebensgemeinschaft
{
 mensch *m_naheverwandschaft;
 mensch *m_entferntevewandschaft;
 ...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1301130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301130</guid><dc:creator><![CDATA[inp]]></dc:creator><pubDate>Fri, 08 Jun 2007 08:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 08:44:40 GMT]]></title><description><![CDATA[<p>Hallo,<br />
das Beispiel zeigt mal wieder, dass man ohne Analyse der Domäne kein vernünftiges Software-Design erstellen kann.</p>
<p>Das &quot;ein Pointer auf den Partner&quot; reicht, geht implizit von einer monogamen Gesellschaft. Wenn ich nun aber alle meine sieben Frauen heiraten will, hat das Design ein Problem.</p>
<p>Prinzipiell würde ich solche (dynamischen) Relationen auch immer in einer dritten Klasse speichern. Allerdings sollte man das auch nicht blind machen, da dieser Ansatz auch seine Probleme (= zusätzliche Abhängigkeiten) mit sich bringt: wie, wie oft und wo wird die Mediator-Klasse instanziiert? Müssen die Elemente der Relation (hier die Menschen) die Mediator-Klasse kennen? Per Referenz? Wer setzt diese? Per Parameter? Wer übergibt diesen?<br />
Übertreibt man diesen Ansatz, erzeugt man außerdem häufig Klassen, die entweder nur Daten (aber kein interessanten Verhalten) oder nur Verhalten (und keine Daten) besitzen. Das hat zwei Nachteile: zum einen führt es zu einer vielzahl von Klassen (reales Problem), zum anderen war das ursprünglich Ziel der OOP mal, Daten und Verhalten zu kombinieren (akademisches Problem, da diese Sichtweise mittlerweile nicht mehr aktuell ist, wie man an vielen DPs sehen kann).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301131</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 08 Jun 2007 08:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 09:05:48 GMT]]></title><description><![CDATA[<p>HumeSikkins schrieb:</p>
<blockquote>
<p>Hallo,<br />
das Beispiel zeigt mal wieder, dass man ohne Analyse der Domäne kein vernünftiges Software-Design erstellen kann.</p>
<p>Das &quot;ein Pointer auf den Partner&quot; reicht, geht implizit von einer monogamen Gesellschaft. Wenn ich nun aber alle meine sieben Frauen heiraten will, hat das Design ein Problem.</p>
<p>Prinzipiell würde ich solche (dynamischen) Relationen auch immer in einer dritten Klasse speichern. Allerdings sollte man das auch nicht blind machen, da dieser Ansatz auch seine Probleme (= zusätzliche Abhängigkeiten) mit sich bringt: wie, wie oft und wo wird die Mediator-Klasse instanziiert? Müssen die Elemente der Relation (hier die Menschen) die Mediator-Klasse kennen? Per Referenz? Wer setzt diese? Per Parameter? Wer übergibt diesen?<br />
Übertreibt man diesen Ansatz, erzeugt man außerdem häufig Klassen, die entweder nur Daten (aber kein interessanten Verhalten) oder nur Verhalten (und keine Daten) besitzen. Das hat zwei Nachteile: zum einen führt es zu einer vielzahl von Klassen (reales Problem), zum anderen war das ursprünglich Ziel der OOP mal, Daten und Verhalten zu kombinieren (akademisches Problem, da diese Sichtweise mittlerweile nicht mehr aktuell ist, wie man an vielen DPs sehen kann).</p>
</blockquote>
<p>naja, da stellt sich natürlich die frage auf was man als objekt auffast<br />
entweder ein reines datenobjekt, oder ein rein funktionales objekt, oder eine kombination aus beiden. ich für meinen teil finde die gegebene möglichkeit in c++ alle 3 sorten zu haben sehr gut, um jeder streng abgrenzbaren &quot;bedeutung von etwas&quot; eine klasse(daten), bzw funktion zu geben.</p>
<p>zurück zum problem,<br />
das modellieren des problems, auf welcher ebene es sich befinden muss(statisch bereits bekannt zur compilezeit oder dynamisch objekte können verschiedene formen von partnerbeziehungen haben), und wieviel flexibilität notwendig sein soll, über sowas muss man sich als entwickler natürlich im klaren sein.<br />
wenn das programm sich in einer monogamischen gesellschaft bewegt, mann ganz genau weiss das sich das NIE und nimmer ändern wird, und aus codetechnischen gründen es einfach angenehmer ist den kürzeren weg zu gehen.<br />
reicht pointer auf partner <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
<p>falls aber eine &quot;welt&quot; simulation mit allen ecken und winkeln entstehen soll muss man den langen weg gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301135</guid><dc:creator><![CDATA[inp]]></dc:creator><pubDate>Fri, 08 Jun 2007 09:05:48 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 09:13:11 GMT]]></title><description><![CDATA[<p>inp schrieb:</p>
<blockquote>
<p>...<br />
wenn das programm sich in einer monogamischen gesellschaft bewegt, mann ganz genau weiss das sich das NIE und nimmer ändern wird, und aus codetechnischen gründen es einfach angenehmer ist den kürzeren weg zu gehen.<br />
reicht pointer auf partner <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /><br />
...</p>
</blockquote>
<p>Auch wenn es nur Monogamie gäbe, könnte dieser Ansatz zu Problemen führen. Was ist, wenn das Programm plötzlich darüber Auskunft geben soll, welche Ehen in einem bestimmten Zeitraum geschlossen wurden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301143</guid><dc:creator><![CDATA[multi gamer]]></dc:creator><pubDate>Fri, 08 Jun 2007 09:13:11 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 09:20:18 GMT]]></title><description><![CDATA[<p>multi gamer schrieb:</p>
<blockquote>
<p>inp schrieb:</p>
<blockquote>
<p>...<br />
wenn das programm sich in einer monogamischen gesellschaft bewegt, mann ganz genau weiss das sich das NIE und nimmer ändern wird, und aus codetechnischen gründen es einfach angenehmer ist den kürzeren weg zu gehen.<br />
reicht pointer auf partner <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /><br />
...</p>
</blockquote>
<p>Auch wenn es nur Monogamie gäbe, könnte dieser Ansatz zu Problemen führen. Was ist, wenn das Programm plötzlich darüber Auskunft geben soll, welche Ehen in einem bestimmten Zeitraum geschlossen wurden?</p>
</blockquote>
<p>vielleicht sollt ich einfach sagen:<br />
der zweck heiligt die mittel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /><br />
(vorausgesetzt man ist sich über den zweck im klaren)</p>
<p>hab eh auf seite 1 ein (überaus schlechtes *G*) beispiel des &quot;richtigen&quot; wegs geschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301147</guid><dc:creator><![CDATA[inp]]></dc:creator><pubDate>Fri, 08 Jun 2007 09:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 09:26:10 GMT]]></title><description><![CDATA[<p>inp schrieb:</p>
<blockquote>
<p>...</p>
<pre><code class="language-cpp">...
class christiliche_ehe: public lebensgemeinschaft
{
 //impl details
 mensch m_mann
 mensch m_frau; 
};

class mormonische_ehe: public lebensgemeinschaft
{
 //impl details
 mensch m_mann;
 mensch m_frau[3];
};
</code></pre>
</blockquote>
<p>Heißes Thema ... allein schon, weil die Mormonen sich auch als &quot;Christen&quot; verstehen. <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 />
monogame_ehe und polygame_ehe wäre vielleicht unverfänglicher <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>(wobei ich monogame im Englischen ja eine interessante Nebenbedeutung hat :D)</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301148</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 08 Jun 2007 09:26:10 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 09:31:19 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>inp schrieb:</p>
<blockquote>
<p>...</p>
<pre><code class="language-cpp">...
class christiliche_ehe: public lebensgemeinschaft
{
 //impl details
 mensch m_mann
 mensch m_frau; 
};

class mormonische_ehe: public lebensgemeinschaft
{
 //impl details
 mensch m_mann;
 mensch m_frau[3];
};
</code></pre>
</blockquote>
<p>Heißes Thema ... allein schon, weil die Mormonen sich auch als &quot;Christen&quot; verstehen. <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 />
monogame_ehe und polygame_ehe wäre vielleicht unverfänglicher <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>(wobei ich monogame im Englischen ja eine interessante Nebenbedeutung hat :D)</p>
<p>Gruß,</p>
<p>Simon2.</p>
</blockquote>
<p>hehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /><br />
erwischt <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="😃"
    /><br />
/me vom lynchen wegrenn</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301154</guid><dc:creator><![CDATA[inp]]></dc:creator><pubDate>Fri, 08 Jun 2007 09:31:19 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 09:39:17 GMT]]></title><description><![CDATA[<p>Eventuell sollte man sich überlegen, das ganze eher über ein <code>standesamt</code> verwalten zu lassen. Die Implementierung könnte dann z.B. über eine (multi-) map laufen und die Schnittstelle so aussehen:</p>
<pre><code class="language-cpp">partnerschaft_registrieren(person p1, person p2)
</code></pre>
<p>(Je nach gesellschaftlicher Freiheit müsste man das ersetzen durch 'mann' und 'frau' oder auch durch eine Schnittstelle, welche mit mehreren Partern umgehen kann.)</p>
<p>Eine Person sollte dann höchstens einen Verweis auf seinen Partnerschafts-Register erhalten (ähnlich der <code>lebensgemeinschaft*</code> ).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301160</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 08 Jun 2007 09:39:17 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 09:56:46 GMT]]></title><description><![CDATA[<p>Über ein Verwaltungsobjekt kann man auch personenbezogene Beziehungseigenschaften bestimmen:</p>
<pre><code class="language-cpp">class Eheverwaltung
{
    vector&lt; pair&lt;Mensch*, Mensch*&gt; &gt; m_beziehungen;
public:
    bool lebtPolygam(Mensch *m)
    {
        size_t nBeziehungen = 0;
        for(size_t iBeziehung = 0; iBeziehung &lt; m_beziehungen.size(); ++iBeziehung)
            if(m_beziehungen[iBeziehung].first == m || m_beziehungen[iBeziehung].second == m)
            {
                ++nBeziehungen;
                if(nBeziehungen &gt; 1)
                    return true;
            }
        return false;
    }
};
</code></pre>
<p>So kann man feststellen, ob ein Mensch polygam oder monogam lebt, ohne dass sein/e Partner ebenfalls mono/polygam leben müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301175</guid><dc:creator><![CDATA[multi gamer]]></dc:creator><pubDate>Fri, 08 Jun 2007 09:56:46 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 10:27:58 GMT]]></title><description><![CDATA[<p>wie wärs damit.</p>
<pre><code class="language-cpp">class Familie;
class Mensch
{
private:
	Familie** familie;
public:
	void heiraten(Mensch* partner);
};
class Mann : public Mensch
{

};
class Frau : public Mensch
{
public:
	Mensch* kindKriegen();
};
class Familie
{
public:
	static enum BeziehungsArt {Ehefrau,Ehemann,Vater,Mutter,Sohn,Tochter};

	void beziehungSetzen(Mensch* m1,Mensch* m2,BeziehungsArt);
private:	
	multimap&lt;pair&lt;Mensch*,Mensch*&gt;,BeziehungsArt&gt; Beziehungen; 
};
</code></pre>
<p>Beziehungen zwischen 2 Menschen werden einfach in einem gemeinsamen Familien Objekt gespeichert. Dadurch ensteht ein ganzer Stammbaum, möchte man mehr Informationen über Beziehungen speichern kann man aus dem enum BeziehungsArt eine eigene Klasse machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301209</guid><dc:creator><![CDATA[walljumper]]></dc:creator><pubDate>Fri, 08 Jun 2007 10:27:58 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 10:33:06 GMT]]></title><description><![CDATA[<p>HI,</p>
<p>klar - man kann immer mehr Aspekte einfügen (vielleicht sind ja auch frühere Ehen und Kinder relevant ? Und das Standesamt ist ja auch noch einer Behörde unterstellt, ...) ...<br />
Deswegen finde ich den Versuch, das &quot;ultimative Modell&quot; zu finden, doch eher amüsant. Letztlich wird der Kunde entscheiden müssen &quot;wieviel und welche Realität&quot; er abgebildet haben (und bezahlen und bedienen) möchte.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301214</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 08 Jun 2007 10:33:06 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 10:39:57 GMT]]></title><description><![CDATA[<p>HumeSikkins schrieb:</p>
<blockquote>
<p>Das &quot;ein Pointer auf den Partner&quot; reicht, geht implizit von einer monogamen Gesellschaft. Wenn ich nun aber alle meine sieben Frauen heiraten will, hat das Design ein Problem.</p>
</blockquote>
<p>dann tauscht man einfach den member <em>Mensch <em>ehepartner;</em> gegen einen <em>std::vector&lt;Mensch</em>&gt; ehepartner;</em> <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/1301218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301218</guid><dc:creator><![CDATA[pale dog]]></dc:creator><pubDate>Fri, 08 Jun 2007 10:39:57 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 12:02:27 GMT]]></title><description><![CDATA[<p>pale dog schrieb:</p>
<blockquote>
<p>dann tauscht man einfach den member <em>Mensch <em>ehepartner;</em> gegen einen <em>std::vector&lt;Mensch</em>&gt; ehepartner;</em> <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>
</blockquote>
<p>LOL <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>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301285</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Fri, 08 Jun 2007 12:02:27 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 14:38:39 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Und wenn Schreiben vielen blödsinn dann auch Brauchen nix grammatik Deutsches.</p>
</blockquote>
<p>Und wenn man viel blödsinn schreibt, dann braucht man auch nicht grammatikalisches Deutsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301384</guid><dc:creator><![CDATA[setzer]]></dc:creator><pubDate>Fri, 08 Jun 2007 14:38:39 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 14:57:40 GMT]]></title><description><![CDATA[<p>HumeSikkins schrieb:</p>
<blockquote>
<p>Allerdings sollte man das auch nicht blind machen, da dieser Ansatz auch seine Probleme (= zusätzliche Abhängigkeiten) mit sich bringt: wie, wie oft und wo wird die Mediator-Klasse instanziiert? Müssen die Elemente der Relation (hier die Menschen) die Mediator-Klasse kennen? Per Referenz? Wer setzt diese? Per Parameter? Wer übergibt diesen?<br />
Übertreibt man diesen Ansatz, erzeugt man außerdem häufig Klassen, die entweder nur Daten (aber kein interessanten Verhalten) oder nur Verhalten (und keine Daten) besitzen. Das hat zwei Nachteile: zum einen führt es zu einer vielzahl von Klassen (reales Problem),</p>
</blockquote>
<p>100% ACK. sowas muss sauber skalariert werden.</p>
<p>HumeSikkins schrieb:</p>
<blockquote>
<p>zum anderen war das ursprünglich Ziel der OOP mal, Daten und Verhalten zu kombinieren (akademisches Problem, da diese Sichtweise mittlerweile nicht mehr aktuell ist, wie man an vielen DPs sehen kann).</p>
</blockquote>
<p>Beziehst Du die Dich auf den (GoF)Imperativ &quot;Vererbe Schnittstellen, nicht Implementierungen!&quot;?</p>
<p>Btw &quot;DPs&quot; ?!? <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="😕"
    /></p>
<p>Grüsse</p>
<p>*this</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301395</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Fri, 08 Jun 2007 14:57:40 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 17:22:33 GMT]]></title><description><![CDATA[<p>Gast++ schrieb:</p>
<blockquote>
<p>Btw &quot;DPs&quot; ?!? <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="😕"
    /></p>
</blockquote>
<p>design patterns <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301509</guid><dc:creator><![CDATA[inp]]></dc:creator><pubDate>Fri, 08 Jun 2007 17:22:33 GMT</pubDate></item><item><title><![CDATA[Reply to Objekte verheiratet - Wie am besten moddelieren ? on Fri, 08 Jun 2007 17:37:12 GMT]]></title><description><![CDATA[<p>ty2u! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1301518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301518</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Fri, 08 Jun 2007 17:37:12 GMT</pubDate></item></channel></rss>