2D ベクトル操作を処理する Vec2D というクラスがあります。
Vec2D pos1 = Vec2D( 100, 100 );
Vec2D pos2 = Vec2D( 100, 100 );
演算子をオーバーロードしているため、算術演算がより簡単になります。したがって、次のことができます。
Vec2D difference = pos1-pos2;
float distance = difference .magnitude();
私のクラスでこのような算術演算を行うことは可能ですか?:
float distance = (pos1-pos2).magnitude();
コンパイルしてみましたが、「クラス Vec2D には反復子がありません...」などの奇妙なエラーが表示されます。これを説明できる唯一の理由は、結果にクラスが存在しないという事実です。