class barray
{ int *data;
unsigned size;
int low, high;
public:
barray(int l, int h);
};
barray::barray(int l, int h) // FALSCH!
: size(h-l+1),
low(l),
high(h),
data(new int[size])
{// hier alle moeglichen Tests}
Das geht schief !!!
Bei der Initialisierung von data ist size noch nicht initialisiert, da die Initialisierung in der Reihenfolge der Deklaration geschieht.
Gute Idee:
Initialisierungslisten auch in dieser Reihenfolge schreiben.