🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #2039

Operatorenueberladung bei Bitfelder

#2039
From: Dmitrij Sverdlov
Date: Mon, 08 Apr 1996 20:50
41 lines
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!news

Show 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