わからない部分があったので、質問させていただきます。
template< class T > class Array2D{
public:
Array2D() : mArray( 0 ){}
~Array2D(){
delete[/url] mArray;
mArray = 0;
}
void setSize( int size0, int size1 ){
mSize0 = size0;
mSize1 = size1;
mArray = new T[ size0 * size1 ];
}
T& operator()( int index0, int index1 ){
return mArray[ index1 * mSize0 + index0 ];
}
const T& operator()( int index0, int index1 ) const {
return mArray[ index1 * mSize0 + index0 ];
}
private:
T* mArray;
int mSize0;
int mSize1;
};
このクラスで、operatorが使われている部分の
T& operator()( int index0, int index1 ){
return mArray[ index1 * mSize0 + index0 ];
}
const T& operator()( int index0, int index1 ) const {
return mArray[ index1 * mSize0 + index0 ];
}
と定義されているメンバ関数は、どの様な意味になるのかわかりません。この場合のoperatorは、演算子のオーバーロードとは、まったく関係ないのでしょうか?
どなたか知っている方がいましたら、よろしくお願いします。