Article View: de.comp.lang.c++
Article #2039Operatorenueberladung bei Bitfelder
From: Dmitrij Sverdlov
Date: Mon, 08 Apr 1996 20:50
Date: Mon, 08 Apr 1996 20:50
41 lines
1295 bytes
1295 bytes
Ich schreibe gerade eine Klasse für Bitfelder und komme nicht weiter.
Bisher habe ich folgendes geschafft:
class bitfield
{
char *bitarray; // Zeiger auf das Bitfeld
public:
bitfield (unsigned bits);
~bitfield();
char operator[] (unsigned bitNr);
};
bitfield::bitfield (unsigned bits)
{
bitarray = new char [ bits / 8 + (bits%8 ? 1: 0) ]; // Soviel Bytes
// reservieren, wie für das Bitarray nötig
}
bitfield::~bitfield()
{
delete bitarray;
}
char bitfield::operator[] (unsigned bitNr)
{
return ( bitarray [bitNr/8] ) & ( 1 << bitNr%8 ) ;
}
Mit der Überladung von [] habe ich nun Ausdrücke der Form
bitfield Bitfield(100);
...
if ( Bitfield[45] ) { ... }
...
ermöglicht, also das Lesen der Bits. Wie kann ich aber die Bits
schreiben, also z.B. Bitfield[67] = 1; ?
Hilft bitte einem Anfänger,
Technical Details
Message-ID:
<4kbu92$fc5@hahn.informatik.hu-berlin.de>Path:
arc1-ca.pugleaf.net!hahn1.informatik.hu-berlin.de!newsShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!hahn1.informatik.hu-berlin.de!news From: sverdlov@informatik.hu-berlin.de (Dmitrij Sverdlov) Newsgroups: de.comp.lang.c++ Subject: Operatorenueberladung bei Bitfelder Date: Mon, 08 Apr 1996 20:50:41 GMT Organization: Humboldt University Berlin, Department of Computer Science Message-ID: <4kbu92$fc5@hahn.informatik.hu-berlin.de> NNTP-Posting-Host: ppp-pl2.informatik.hu-berlin.de X-Newsreader: Forte Free Agent 1.0.82