<?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[Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen]]></title><description><![CDATA[<p>Hallo an alle,</p>
<p>ich habe ein Problem:<br />
Ich möchte gerne eine Art Proxy schreiben der sich zwischen Client und Server (Gameserver und Gameclient) schaltet und die einzelnen UDP Pakete mit deren Inhalt anzeigt (mitsnifft).<br />
Den Proxy hab ich hingekriegt, aber das Anzeigen des Inhaltes der einzelnen Pakete macht mir immernoch Probleme. Kurze Infos zum Protokoll: Die ersten 2 Bytes sind nicht relevant, das dritte ist die Art des Inhalts (Positionsupdates, geschossen, etc. Ich werde es hier nun Status nennen). Danach folgen die Inhalte (Wer hat geschossen, etc.).<br />
Nun gibt es verschiedene Status Arten. Ich möchte nun für jedes Paket sehen, z.B. wer hat geschossen, etc, aber alle Pakete sind ja verschieden. Dies ist meine aktuelle Version um den Clienten auszulesen:</p>
<pre><code class="language-cpp">switch(status)
{
case 1:
  printf(&quot;[CLIENT]BlaBla\n&quot;);
  printf(&quot;\t Blabla: %u\n&quot;,ReadBla(buffer[3], buffer[4]));
  break;
default:
  printf(&quot;[CLIENT]UNKNOWN\n&quot;);
}
</code></pre>
<p>Dies wird nach ca. 15 Paketen schon unübersichtlich, (Es gibt ca. 120),<br />
deshalb wollte ich so garnicht weitermachen. Ich hab gehört sowas kann man Objektorientiert machen?<br />
Da komme ich auch gleich zu meine nächsten Frage, nämlich: So ein Paket besteht nun z.B. aus Spieler-ID und Spielername. Das Paket ist nun z.B. so:</p>
<pre><code>0x56 (Status)
0x05 (Spieler-ID)
0x06 (Länge von dem Spielernamen)
6 Bytes Spielername (Für jeden Buchstaben ein Byte bzw. Char)
</code></pre>
<p>Um diese Art von 'String' auszulesen habe ich mir nun eine Funktion gebaut:</p>
<pre><code class="language-cpp">char* ReadString(char *buffer, int position)
{
	unsigned short anzahl = (unsigned short)buffer[position];
	char *string = (char*)malloc(anzahl);
	strncpy(string, buffer+position+1, anzahl);
	string[anzahl] = '\0';
	return string;
}
</code></pre>
<pre><code class="language-cpp">char *servername = ReadString(buffer, position);
position = position + sizeof(servername) + 2;

char *mapname = ReadString(buffer, position);
position = position + sizeof(mapname) + 2;
</code></pre>
<p>Nun wird es bei mehreren String hintereinander unübersichtlich, da ich immer die Position mitzählen muss.<br />
Ich glaube sowas kann man auch Objektorientiert machen? Oder kann ich so irgendwie einen neuen Datentyp entwickeln? Mit struct hatte ich schon rumgespielt.</p>
<p>Unübersichtlichkeit wenn mehrere Pakete eingetragen sind<br />
Diese komischen Strings möglichst einfach auslesen können</p>
<p>Ich habe in C programmiert bis ich gesehen hatte, dass man das auch mit OOP lösen kann.<br />
Ab da an bin ich auf C++ umgestiegen (Bin nur deshalb). Bitte nicht schlagen bei printf und co. <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>Vielen Vielen Dank im Voraus,</p>
<p>Gruß Jermuk</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/272656/mehrere-verschiedene-pakettypen-amp-eigene-datentypen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 19:20:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272656.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Aug 2010 14:58:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Sun, 22 Aug 2010 14:58:09 GMT]]></title><description><![CDATA[<p>Hallo an alle,</p>
<p>ich habe ein Problem:<br />
Ich möchte gerne eine Art Proxy schreiben der sich zwischen Client und Server (Gameserver und Gameclient) schaltet und die einzelnen UDP Pakete mit deren Inhalt anzeigt (mitsnifft).<br />
Den Proxy hab ich hingekriegt, aber das Anzeigen des Inhaltes der einzelnen Pakete macht mir immernoch Probleme. Kurze Infos zum Protokoll: Die ersten 2 Bytes sind nicht relevant, das dritte ist die Art des Inhalts (Positionsupdates, geschossen, etc. Ich werde es hier nun Status nennen). Danach folgen die Inhalte (Wer hat geschossen, etc.).<br />
Nun gibt es verschiedene Status Arten. Ich möchte nun für jedes Paket sehen, z.B. wer hat geschossen, etc, aber alle Pakete sind ja verschieden. Dies ist meine aktuelle Version um den Clienten auszulesen:</p>
<pre><code class="language-cpp">switch(status)
{
case 1:
  printf(&quot;[CLIENT]BlaBla\n&quot;);
  printf(&quot;\t Blabla: %u\n&quot;,ReadBla(buffer[3], buffer[4]));
  break;
default:
  printf(&quot;[CLIENT]UNKNOWN\n&quot;);
}
</code></pre>
<p>Dies wird nach ca. 15 Paketen schon unübersichtlich, (Es gibt ca. 120),<br />
deshalb wollte ich so garnicht weitermachen. Ich hab gehört sowas kann man Objektorientiert machen?<br />
Da komme ich auch gleich zu meine nächsten Frage, nämlich: So ein Paket besteht nun z.B. aus Spieler-ID und Spielername. Das Paket ist nun z.B. so:</p>
<pre><code>0x56 (Status)
0x05 (Spieler-ID)
0x06 (Länge von dem Spielernamen)
6 Bytes Spielername (Für jeden Buchstaben ein Byte bzw. Char)
</code></pre>
<p>Um diese Art von 'String' auszulesen habe ich mir nun eine Funktion gebaut:</p>
<pre><code class="language-cpp">char* ReadString(char *buffer, int position)
{
	unsigned short anzahl = (unsigned short)buffer[position];
	char *string = (char*)malloc(anzahl);
	strncpy(string, buffer+position+1, anzahl);
	string[anzahl] = '\0';
	return string;
}
</code></pre>
<pre><code class="language-cpp">char *servername = ReadString(buffer, position);
position = position + sizeof(servername) + 2;

char *mapname = ReadString(buffer, position);
position = position + sizeof(mapname) + 2;
</code></pre>
<p>Nun wird es bei mehreren String hintereinander unübersichtlich, da ich immer die Position mitzählen muss.<br />
Ich glaube sowas kann man auch Objektorientiert machen? Oder kann ich so irgendwie einen neuen Datentyp entwickeln? Mit struct hatte ich schon rumgespielt.</p>
<p>Unübersichtlichkeit wenn mehrere Pakete eingetragen sind<br />
Diese komischen Strings möglichst einfach auslesen können</p>
<p>Ich habe in C programmiert bis ich gesehen hatte, dass man das auch mit OOP lösen kann.<br />
Ab da an bin ich auf C++ umgestiegen (Bin nur deshalb). Bitte nicht schlagen bei printf und co. <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>Vielen Vielen Dank im Voraus,</p>
<p>Gruß Jermuk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943021</guid><dc:creator><![CDATA[Jermuk]]></dc:creator><pubDate>Sun, 22 Aug 2010 14:58:09 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Sun, 22 Aug 2010 15:10:37 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich hab gehört sowas kann man Objektorientiert machen?</p>
</blockquote>
<p>Man kann fast alles objektorientiert lösen. Wenn du es gehört hast, kannst du doch da auch mal nachfragen?<br />
(BTW.: Stört dich so ein Fragezeichen statt einem Punkt am Ende einer Aussage überhaupt nicht?)</p>
<p>Damit du nicht ganz ohne etwas in der Hand da stehst:<br />
<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="😉"
    /> Factory + std::map + Polymorphie<br />
<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="😉"
    /> std::string</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943030</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Sun, 22 Aug 2010 15:10:37 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Sun, 22 Aug 2010 15:29:29 GMT]]></title><description><![CDATA[<p>Vielen vielen Dank für deine Antwort!</p>
<p>EDIT: Man kann auch Fragezeichen anstatt Punkte setzten. Dann soll es eine Art Frage sein. Und leider ist von dem ich das gehört habe momentan nicht zu erreichen. O</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943035</guid><dc:creator><![CDATA[Jermuk]]></dc:creator><pubDate>Sun, 22 Aug 2010 15:29:29 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Sun, 22 Aug 2010 15:41:10 GMT]]></title><description><![CDATA[<p>Es waren zwei Lösungsansätze zu deinen beiden Fragen.<br />
<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="😉"
    /> Du &quot;bastelst&quot; dir eine Klassenhierarchie mit entsprechenden virtuellen Funktionen. Für jede Klasse eine Factory, die ein entsprechendes Objekt erzeugt und zurückliefert. Damit das funktioniert, brauchst du Zeiger. Du hast ursprünglich einen int in deinem switch verwendet, jetzt registrierst du in einer std::map pro int die zugehörige Factory.<br />
<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="😉"
    /> std::string ist immer bequemer als rohe strings. Wenn du C++ nicht nur wegen dem &quot;class&quot; verwendest, solltest du zur Erleichterung bei Zeichenketten zu std::string greifen. Überhaupt solltest du dich an der STL bedienen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943045</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Sun, 22 Aug 2010 15:41:10 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Sun, 22 Aug 2010 16:52:28 GMT]]></title><description><![CDATA[<p>l'abra d'or schrieb:</p>
<blockquote>
<p>Es waren zwei Lösungsansätze zu deinen beiden Fragen.<br />
<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="😉"
    /> Du &quot;bastelst&quot; dir eine Klassenhierarchie mit entsprechenden virtuellen Funktionen. Für jede Klasse eine Factory, die ein entsprechendes Objekt erzeugt und zurückliefert. Damit das funktioniert, brauchst du Zeiger. Du hast ursprünglich einen int in deinem switch verwendet, jetzt registrierst du in einer std::map pro int die zugehörige Factory.<br />
<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="😉"
    /> std::string ist immer bequemer als rohe strings. Wenn du C++ nicht nur wegen dem &quot;class&quot; verwendest, solltest du zur Erleichterung bei Zeichenketten zu std::string greifen. Überhaupt solltest du dich an der STL bedienen.</p>
</blockquote>
<p>Könntest du oder irgendwer anderes zum Punkt 1 noch etwas erläutern? Da ich nocht nicht so viel OOP gemacht habe, kannte ich die Factory Methode nicht.<br />
Ich habe ein gutes und verständliches Beispiel auf Wikipedia gefunden und habe es auch hoffentlich verstanden. Habe mir auch einige Tutorials dazu gefunden,<br />
aber ich kann die Factory Methode nicht auf mein Problem beziehen.<br />
Es gibt ein Produkt, ein konkretes Produkt, einen Erzeuger und einen konkreten Erzeuger, soviel habe ich schon verstanden.<br />
Sind jetzt die konkreten Erzeuger die verschiedenen Statuse (wie schreibt man es richtig?) und die Produkte z.B. die SessionID?<br />
D.h. ich bräuchte eine Klasse namens PlayerID (oder weitere für z.B. Positionsangaben, SessionID) in der die ID aus dem String herausgelsen wird (konkretes Produkt??) und eine weitere namens Status_1 in der alles zusammen gesetzt wird (Erzeuger).<br />
Aber wozu dann die konkreten Erzeuger oder allgemeinen Produkte?<br />
Die Polimorphie habe ich (hoffentlich) einigermaßen verstanden. Aber ich weiß leider nicht,<br />
was ich nun in welche Klasse zun soll oder was als Virtuell gekennzeichnet werden soll.<br />
Vielen vielen Dank für deine Antwort!</p>
<p>Und nochmal vielen Dank an alle die mir helfen können!</p>
<p>Gruß Jermuk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943072</guid><dc:creator><![CDATA[Jermuk]]></dc:creator><pubDate>Sun, 22 Aug 2010 16:52:28 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Sun, 22 Aug 2010 20:19:49 GMT]]></title><description><![CDATA[<p>Mir ist bisher nicht klar ob du Protokoll-Reverse-Engineering betreibst oder aber nur einen Netzwerk-Stream in eine menschenlesbare Form umwandeln willst.<br />
Je nachdem könnte man dir dann noch konkreter helfen.</p>
<p>In beiden Fällen besteht aber die Möglichkeit die Protokoll-Umwandlung generisch zu betreiben.<br />
Das ist auf jeden Fall praktischer als für jedes potentielle Objekt im Netzwerk-Strom eine Klasse/Struct zu definieren.<br />
Dafür braucht man eine Definition von Regeln, beispielsweise als XML, die definiert was bei einem bestimmten Token/Code passieren soll.<br />
Die Auswertung des Protokoll-Streams passiert dann automatisiert anhand deiner Regeldefinition.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943141</guid><dc:creator><![CDATA[nurf]]></dc:creator><pubDate>Sun, 22 Aug 2010 20:19:49 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Sun, 22 Aug 2010 21:13:10 GMT]]></title><description><![CDATA[<p>&quot;Protokoll-Reverse-Engineering&quot;<br />
Jep, wusste nicht wie sich das nennt. Möchte anschließend mit den gesammelten Daten einen Server schreiben. Was meinst du mit generisch? Kann man damit auch rein theoretisch auch mehrere Pakete hintereinander definieren? (z.B. eine Join Routine) Wie funktioniert das den genau? Klingt für mich etwas einfacherer als OOP.</p>
<p>Vielen Dank für deine Antwort,</p>
<p>Gruß Jermuk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943148</guid><dc:creator><![CDATA[Jermuk]]></dc:creator><pubDate>Sun, 22 Aug 2010 21:13:10 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Mon, 23 Aug 2010 06:20:58 GMT]]></title><description><![CDATA[<p>Zum Stichwort Fabrik gibt es zwei Patterns. Fabrikmethode und Abstrakte Fabrik. Hier war wohl die Abstrakte Fabrik gemeint. Das sieht in etwa so aus:</p>
<pre><code class="language-cpp">// item.hpp
// Basisklasse für alle Pakete (oder was weiß ich)
class Item
{
public:
    virtual ~Item(){}
};
</code></pre>
<pre><code class="language-cpp">// factory.hpp
#include &lt;map&gt;

class Item;
class Factory
{
public:
    typedef int ID;
    typedef Item* (*CreateFunc)();
    typedef std::map&lt;ID, CreateFunc&gt; AMap;

    Item* Create(ID id)
    {
        AMap::const_iterator it = Assocs_.find(id);
        if (it == Assocs_.end())
            // handle.. throw, o.ä...
        return it-&gt;second();
    }

    bool Register(ID id, CreateFunc f)
    {
        AMap::iterator it = Assocs_.lower_bound(id);
        if (it != Assocs_.end() &amp;&amp; it-&gt;first == id)
            it-&gt;second = f;
        else
            Assocs_.insert(std::make_pair(id,f));
        return true;
    }

    static Factory&amp; Instance()
    {
        static Factory F;
        return F;
    }

private:
    Factory(){}
    Factory(Factory&amp;);
    void operator=(Factory&amp;);

    AMap Assocs_;
};
</code></pre>
<pre><code class="language-cpp">// concrete.hpp
// konkretes Paket
#include &quot;item.hpp&quot;

class Concrete : public Item
{
// ...
};
</code></pre>
<pre><code class="language-cpp">// concrete.cpp
#include &quot;concrete.hpp&quot;
#include &quot;factory.hpp&quot;

Item* CreateConcrete()
{
    return new Concrete;
}
bool Dummerich = Factory::Instance().Register(1, CreateConcrete);
</code></pre>
<p>Eine Concrete Instanz erstellt man nun mit der ID 1.<br />
Die Fabrik ist hier als Singleton implementiert. Beim Singleton selber könnte man sich noch mehr Mühe geben, wenn man die Fabrik so verwenden möchte. Wenn man sie als 'normales' Objekt benutzt, muss der Besitzer die Registrierung initiieren. Die ganze Fabrik kann man auch sehr schön komplett generisch aufbauen.</p>
<p>Ob es in Deinem Fall überhaupt Sinn macht 120 konkrete Pakete zu definieren, kann ich nicht beurteilen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943179</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Mon, 23 Aug 2010 06:20:58 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Mon, 23 Aug 2010 10:42:40 GMT]]></title><description><![CDATA[<p>Vielen Dank für die Antwort. Dann hatte ich mir die ganze Zeit die falschen Tutorials angeschaut. Ich warte jetzt noch auf eine Antwort von nurf und dann entscheide ich mich, wie ich das genau machen möchte oder bzw. die einfachste und schnellste Lösung ist. Aber vielen Dank für die Erklärung!</p>
<p>Gruß Jermuk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943275</guid><dc:creator><![CDATA[Jermuk]]></dc:creator><pubDate>Mon, 23 Aug 2010 10:42:40 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Mon, 23 Aug 2010 10:32:32 GMT]]></title><description><![CDATA[<p>Jermuk schrieb:</p>
<blockquote>
<p>Klingt für mich etwas einfacherer als OOP.</p>
</blockquote>
<p>Ich denke dir geht noch einiges an Grundwissen ab. Auch so ein Vorgehen wie nurf es vorschlägt kannst du wunderbar mit objektorientierten Techniken umsetzen.<br />
Ich denke du solltest erstmal mit C++ anfangen, denn nur vom Hörensagen, dass das mit OOP geht wird deine Lösung nicht besser... OOP ist kein Kurzbegriff für Ploymorphie und Factories <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>Ich meine sowieso, dass der Versuch weg von C hin zu einer komplexen Lösung in C++ eher Bloat verursacht, als dass es hilft. Der einzige Vorteil wird sein, dass du von dem Monster-switch in deiner main wegkommst, und die Fallunterscheidungen auslagerst - in eigene Klassen, in ein XML, usw. Es wird übersichtlicher, aber die Gefahr, dass du irgendwann nicht mehr durchblickst ist auch recht hoch. Es kommt sicher eine schönere Lösung raus, keine Frage! Aber du solltest das halt auch verstehen.</p>
<p>Du könntest das wohl auch mit einem Script lösen. Speicher einfach den ganzen aufgefangenen Strom roh in einer Textdatei, bisschen regexp auf die Zeilen, und du kommst auch ans Ziel, komplett ohne OOP <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/1943281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943281</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Mon, 23 Aug 2010 10:32:32 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Verschiedene Pakettypen &amp;amp; Eigene Datentypen on Mon, 23 Aug 2010 11:14:53 GMT]]></title><description><![CDATA[<p>l'abra d'or schrieb:</p>
<blockquote>
<p>Ich meine sowieso, dass der Versuch weg von C hin zu einer komplexen Lösung in C++ eher Bloat verursacht, als dass es hilft. Der einzige Vorteil wird sein, dass du von dem Monster-switch in deiner main wegkommst, und die Fallunterscheidungen auslagerst - in eigene Klassen, in ein XML, usw. Es wird übersichtlicher, aber die Gefahr, dass du irgendwann nicht mehr durchblickst ist auch recht hoch. Es kommt sicher eine schönere Lösung raus, keine Frage! Aber du solltest das halt auch verstehen.</p>
</blockquote>
<p>Ok, ich nehm es mir zu Herzen: Ich bleibe lieber bei meinem switch-Monster. Ich dachte in OOP währe alles einfacher, aber ich sehe für einen Neuling ist es das nicht. Vielen Dank an alle die mir geholfen haben oder es versucht haben.</p>
<p>Vielen Dank nochmal,</p>
<p>Gruß Jermuk</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1943304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1943304</guid><dc:creator><![CDATA[Jermuk]]></dc:creator><pubDate>Mon, 23 Aug 2010 11:14:53 GMT</pubDate></item></channel></rss>