我有一个通用的点和矩形类,如下所示:
template < typename T > struct Pt
{ T x; T y; };
template < typename T > struct Rect
{ T x; T y; T w; T h; };
我有一个接受两个Rect
s 并测试它们是否重叠的函数。我想通过四次调用我的“Pt within 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);
...
}
或者类似的东西。