【初心者歓迎】C/C++室 Ver.34【環境依存OK】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0902デフォルトの名無しさん
2007/02/16(金) 18:43:29二次元座標のクラスを作っているのですが、
point.x(), point.y()でx,y座標を取得できると同時に
point[0], point[1]でもx, y座標を取得できるようにしたいのです。
そこで、メンバ変数の持ち方なのですが
class point{
...
private:
int x_, y_;
};
とするとx(), y()は簡単になりますが、
int operator[](size_t i){
if(i == 0) x_;
else if(i == 1) y_;
else // エラー処理
}
みたいになってしまいます。ポインタ + iの形を使えれば効率的になりそうですが、
x_, y_が連続した領域に配置される保証はない(?)と思うのでできません。
両方を効率良く実装するにはどのような方法を取ればよいでしょうか?
レス数が900を超えています。1000を超えると表示できなくなるよ。