ich will gerade eine Klasse für dynamische Arrays schreibenm aber ich glaub da is ein Fehler -.- Tut "new" nicht den Speicher NULLen bevor er ihn vergibt?
Denn wenn ich die Array ausgebe steht da immer was drinn -> Fehler beim auslesen.
die Include
Code: Alles auswählen
template <class T>
class DimArray
{
private:
T *mArray;
int mA;
int mB;
int mC;
public:
DimArray(int A, int B)
{
mA = A;
mB = B;
mArray = new T[mA * mB];
};
~DimArray()
{
delete [] mArray;
}
T* operator[](int A)
{
return& mArray[A * mB];
};
};
Code: Alles auswählen
DimArray<int> Array(6,3);
Array[0][0] = 42;
Array[1][0] = 10;
Array[0][1] = 5;
fprintf(stderr, "Array: %i\n",Array[0][0]);
fprintf(stderr, "Array: %i\n",Array[1][0]);
fprintf(stderr, "Array: %i\n",Array[2][0]);
fprintf(stderr, "Array: %i\n",Array[3][0]);
fprintf(stderr, "Array: %i\n",Array[0][1]);
fprintf(stderr, "Array: %i\n",Array[1][1]);
fprintf(stderr, "Array: %i\n",Array[2][1]);
fprintf(stderr, "Array: %i\n",Array[3][1]);
fprintf(stderr, "Array: %i\n",Array[0][2]);
fprintf(stderr, "Array: %i\n",Array[1][2]);
fprintf(stderr, "Array: %i\n",Array[2][2]);
fprintf(stderr, "Array: %i\n",Array[3][2]);
fprintf(stderr, "Array: %i\n",Array[0][3]);
fprintf(stderr, "Array: %i\n",Array[1][3]);
fprintf(stderr, "Array: %i\n",Array[2][3]);
fprintf(stderr, "Array: %i\n",Array[3][2]);
mfg Arthur^^