[linux-l] Designfrage bzgl. Deckverwaltung

Kai Kuehne kai.kuehne at gmail.com
Sa Okt 22 00:47:51 CEST 2005


Hallo Frank,

On 10/22/05, Frank Reker <frank at reker.net> wrote:
> [code]
> und wenn du jetzt noch farbe und wert in ein int zusammenfasst, dann
> kannst du dir die operator ueberladung sparen.
> z.b. es gibt <=4 farben und <=8 werte je farbe.
> dann nimm die unteren 3 bit fuer den wert und die naechsten 2 bit
> fuer die farbe. kannste mit makros machen wie in meiner ersten mail,
> wenn du aber lieber structs bevorzugst - voila:
>
> typedef struct prop { u_int32_t wert:3, farbe:29; } prop;
> typedef union karte { u_int32_t z; prop p; } karte;
>
> karte card1, card2;
>
> card1.p = (prop){rot,bruder};
> card2.p = (prop){blau,clown};
> if (card1.z < card2.z) ...
>
> farbwert erhaelste dann:
> if (card1.p.farbe == pink)...
>
> und das ganze ohne teure operator overloading oder gar
> properties klassen.
>
> simple c - kannste ja meinetwegen in ner klasse kapseln.

Vielleicht sollte ich das Programm ganz in C schreiben. ;)
Aber das ist ja nicht der Sinn der ganzen Uebung.
Ich wollte eigentlich dadurch C++ OOP lernen... gut, wenn das
an dem Punkt gerade nicht angebracht ist, warum auch immer..
ist das natuerlich bloed. Koennte jetzt fragen, ob es ueberhaupt
Sinn macht C++ zu lernen, aber dass lasse ich mal lieber..

Danke auf jeden Fall fuer eure Vorschlaege!

Gute Nacht
Kai



Mehr Informationen über die Mailingliste linux-l