次のような一般的な点と四角形のクラスがあります。
template < typename T > struct Pt
{ T x; T y; };
template < typename T > struct Rect
{ T x; T y; T w; T h; };
2 つの を受け取りRect
、重複するかどうかをテストする関数があります。これを実装するには、「Pt within Rect」関数を 4 回呼び出します。しかし、rect に格納されているデータの種類を知らずにポイントを作成する方法を知りたいです。私は次のようなことを望んでいました:
bool RectsOverlap ( Rect a, Rect b )
{
Pt /*do i put sonethig here?*/ p = Pt(a.x, a.y);
...
p = Pt(a.x + a.w, a.y);
...
}
またはその趣旨の何か。