<?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[[ERLEDIGT] Klassendaten Zusammenfügen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe eine Topologieklasse die: Koordinaten,Knoten,Kanten,Maschen enthält.</p>
<p>Jetzt möchte ich eine Funktion schreiben die zwei solcher Klassen zusammenfügen kann.<br />
Dass heisst dass die Koordinaten,Knoten,..., im endeffekt zusammengschmissen werden.</p>
<p>Wie funktioniert dabei der C++ Teil?</p>
<p>habe versucht eine funktion dafür zu schreiben aber irgendwie möchter er das nicht.<br />
Geht man so etwas mit einer Operatorüberladung an oder gibt es einfachere Wege?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/268380/erledigt-klassendaten-zusammenfügen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 21:58:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/268380.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Jun 2010 12:14:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 13:13:10 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe eine Topologieklasse die: Koordinaten,Knoten,Kanten,Maschen enthält.</p>
<p>Jetzt möchte ich eine Funktion schreiben die zwei solcher Klassen zusammenfügen kann.<br />
Dass heisst dass die Koordinaten,Knoten,..., im endeffekt zusammengschmissen werden.</p>
<p>Wie funktioniert dabei der C++ Teil?</p>
<p>habe versucht eine funktion dafür zu schreiben aber irgendwie möchter er das nicht.<br />
Geht man so etwas mit einer Operatorüberladung an oder gibt es einfachere Wege?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908842</guid><dc:creator><![CDATA[darkfate]]></dc:creator><pubDate>Tue, 08 Jun 2010 13:13:10 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 12:15:55 GMT]]></title><description><![CDATA[<p>Zeig mal deine Versuche.<br />
Oder zeig doch mal ein Minimal Bsp. was tu tun möcgtest.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908845</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 08 Jun 2010 12:15:55 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 12:17:34 GMT]]></title><description><![CDATA[<p>Die Frage ist zu allgemein gestellt. Es gibt viele Wege zum Ziel, manche sind manchmal besser, manchmal andere.</p>
<p>Von deiner vagen Problembeschreibung ausgehend:<br />
Zusammenfügen von Klassen würde ich mit Addition, also dem Operator + assoziieren. Daher würde ich diesen Operator überladen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908847</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 08 Jun 2010 12:17:34 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 12:30:23 GMT]]></title><description><![CDATA[<p>Eigenlich wollte ich euch den Code ersparen <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 />
Hier sind die drei Datenkontainer die dann zusammengefügt werden sollten.</p>
<pre><code class="language-cpp">class TOP{

	private:
		....
		std::map&lt;UINT, UTM,  std::less&lt;UINT&gt;&gt; COORDs;
		std::map&lt;UINT, Knot, std::less&lt;UINT&gt;&gt; knots;
		std::map&lt;UINT, Edge, std::less&lt;UINT&gt;&gt; edges;
		....
}
</code></pre>
<p>Jetzt wollte ich:</p>
<pre><code class="language-cpp">void TOP::add_topology(TOP &amp;new_topology){
	if(TOP.integrity_check()){
		tmp = (*this);
		...
}
</code></pre>
<p>Wird so etwas funktionieren? Allein die erste Zeile riecht mir schon irgendwie faul..</p>
<p>Mein zweiter Ansatz ist:</p>
<pre><code class="language-cpp">GEOTopology GEOTopology::operator+=(const GEOTopology &amp;new_topology ) {

	GEOTopology thistopology(*this);

	if(new_topology.integrity_check()){
	...
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1908853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908853</guid><dc:creator><![CDATA[darkfate]]></dc:creator><pubDate>Tue, 08 Jun 2010 12:30:23 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 12:43:48 GMT]]></title><description><![CDATA[<p>Das ist syntaktisch erstmal richtig (wobei operator += meistens eine Referenz zurückgeben sollte und new_topology sollte wohl eher const sein oder willst du es ändern?). Ob die Semantik stimmt, kannst nur du beantworten, denn wir wissen ja nicht, wie man deine Klassen korrekt zusammenfügt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908861</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 08 Jun 2010 12:43:48 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 12:48:49 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Das ist syntaktisch erstmal richtig (wobei operator += meistens eine Referenz zurückgeben sollte und new_topology sollte wohl eher const sein oder willst du es ändern?). Ob die Semantik stimmt, kannst nur du beantworten, denn wir wissen ja nicht, wie man deine Klassen korrekt zusammenfügt.</p>
</blockquote>
<p>Meinst du so?</p>
<pre><code class="language-cpp">GEOTopology GEOTopology::operator+=(const GEOTopology &amp;new_topology ) const{

    GEOTopology thistopology(*this);

    if(new_topology.integrity_check()){
    ...
    }
}
</code></pre>
<p>Darf ich dann thistopology verändern?<br />
Was ist mit dem ersten Versuch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908865</guid><dc:creator><![CDATA[darkfate]]></dc:creator><pubDate>Tue, 08 Jun 2010 12:48:49 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 12:56:05 GMT]]></title><description><![CDATA[<p>Eher so;</p>
<pre><code class="language-cpp">GEOTopology &amp;GEOTopology::operator+=(const GEOTopology &amp;new_topology ){
    if(new_topology.integrity_check()){
    ... // this-&gt;map_1 erweitern um new_topology.map_1 etc.
    }

    return *this;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1908870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908870</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 08 Jun 2010 12:56:05 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 12:58:15 GMT]]></title><description><![CDATA[<p>Nein ich meinte so:<br />
Versuch 1:</p>
<pre><code class="language-cpp">void TOP::add_topology(const TOP &amp;new_topology)
</code></pre>
<p>Wäre komisch wenn sich etwas verändert weil ich es zu etwas anderem hinzufüge</p>
<p>Versuch 2:</p>
<pre><code class="language-cpp">GEOTopology&amp; GEOTopology::operator+=(const GEOTopology &amp;new_topology )
</code></pre>
<p>Ist die übliche Schreibweise. Dadurch werden Kettenzuweisungen möglich à la <code>(x+=1)+=2;</code> . Keine Ahnung wozu das gut sein soll, aber bei ints geht das. Und eine gute Faustregel für Operatorüberladung ist, dass das was für ints gut ist, auch für andere Klassen gut ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908874</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 08 Jun 2010 12:58:15 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 13:03:22 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Nein ich meinte so:<br />
Versuch 1:</p>
<pre><code class="language-cpp">void TOP::add_topology(const TOP &amp;new_topology)
</code></pre>
<p>Wäre komisch wenn sich etwas verändert weil ich es zu etwas anderem hinzufüge</p>
</blockquote>
<p>Achso. Man muss tatsächlich etwas ändern.<br />
Wenn sich durch die hinzugefügten Punkte der Fall<br />
ergibt dass zwei Punkte übereinanderliegen,<br />
wäre es topologisch gesehen ein Fehler.</p>
<p>Dann müssten die zwei Punkte zu einem Zusammgengefasst werden.</p>
<p>Wenn sich zwei Linien schneiden würden,<br />
müsste man den Schnittpunkt als Knoten anlegen<br />
und so weiter..</p>
<p>Da ich sonst ein temporäres Objekt anlegen müsste arbeite ich lieber direkt mit diesem Objekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908878</guid><dc:creator><![CDATA[darkfate]]></dc:creator><pubDate>Tue, 08 Jun 2010 13:03:22 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 13:04:10 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Eher so;</p>
<pre><code class="language-cpp">GEOTopology &amp;GEOTopology::operator+=(const GEOTopology &amp;new_topology ){
    if(new_topology.integrity_check()){
    ... // this-&gt;map_1 erweitern um new_topology.map_1 etc.
    }

    return *this;
}
</code></pre>
</blockquote>
<p>Kann man einfach so in eine Map eine weitere reinstecken?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908880</guid><dc:creator><![CDATA[darkfate]]></dc:creator><pubDate>Tue, 08 Jun 2010 13:04:10 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 13:05:48 GMT]]></title><description><![CDATA[<p>darkfate schrieb:</p>
<blockquote>
<p>Kann man einfach so in eine Map eine weitere reinstecken?</p>
</blockquote>
<pre><code class="language-cpp">map1.insert(map2.begin(), map2.end());
</code></pre>
<p>Nur scheint dein Problem eher eines zu sein das mit Programmieren an sich nichts zu tun hat sondern eher damit wie die Verschmelzung an sich stattfinden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908882</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 08 Jun 2010 13:05:48 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT] Klassendaten Zusammenfügen on Tue, 08 Jun 2010 13:12:34 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>darkfate schrieb:</p>
<blockquote>
<p>Kann man einfach so in eine Map eine weitere reinstecken?</p>
</blockquote>
<pre><code class="language-cpp">map1.insert(map2.begin(), map2.end());
</code></pre>
<p>Nur scheint dein Problem eher eines zu sein das mit Programmieren an sich nichts zu tun hat sondern eher damit wie die Verschmelzung an sich stattfinden soll.</p>
</blockquote>
<p>Dennoch eine gute Idee für das abschließende zusammenfügen.<br />
Jedenfalls besser als über eine for schleife und interatoren.</p>
<p>Danke an alle</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1908885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1908885</guid><dc:creator><![CDATA[darkfate]]></dc:creator><pubDate>Tue, 08 Jun 2010 13:12:34 GMT</pubDate></item></channel></rss>