Jak przeciążyć operator [], żebym mógł używać go do macierzy? Np:
Matrix m(4,4);
cout<<macierz[2][1]<<endl;
Gdzie Matrix to jest klasa
class Matrix
{
public:
float **tab;
int x,y;
Matrix(float** arg_tab, int xx, int yy);
Matrix(const Matrix &_copy);
Matrix(int xx, int yy);
~Matrix();
};
Konstruktory:
Matrix::Matrix(float** arg_tab, int xx, int yy)
{
x = xx;
y = yy;
tab = new float*[y];
for(int i=0; i<y; i++)
tab[i] = new float[x];
for(int i=0; i<y; i++)
for(int k=0; k<x; k++)
tab[i][k] = arg_tab[i][k];
}
Matrix::Matrix(const Matrix &_copy)
{
x = _copy.x;
y = _copy.y;
tab = new float*[y];
for(int i=0; i<y; i++)
{
tab[i] = new float[x];
for(int k=0; k<x; k++)
tab[i][k] = _copy.tab[i][k];
}
}
Matrix::Matrix(int xx=1, int yy=1)
{
x = xx;
y = yy;
tab = new float*[y];
for(int i=0; i<y; i++)
tab[i] = new float[x];
}