Thats fine as we are initializing it inside the constructor. But you have to initialize each bit either to be true/false depending upon user request.

i.e. BitSet bitField(63, true) would set every bit and then user selectively can reset() desired bits. In that your constructor can be modified to take second arg as default arg to be false as
BitSet(int size, bool initializationValue = false) so calling just BitSet bitField(63) would set each bit to be false.