Witam. Mam prosty szablon klasy:
template <class T>
class CRect
{
public:
T x,y,w,h;
bool isPointInside(T xx, T yy)
{
return (x < xx && xx < x + w && y < yy && yy < y + h);
}
CRect() : x(0), y(0), w(0), h(0) {};
CRect(T xx, T yy, T ww, T hh) : x(xx), y(yy), w(ww), h(hh){}
};
I teraz chcę skonwertować jeden obiekt typu CRect<float> na obiekt typu CRect<int>
Chodzi mi generalnie żebym mógł zrobić coś takiego:
CRect<float> fRect;
CRect<int> iRect;
iRect = static_cast<CRect<int> >(fRect)
Muszę napisać jakiś konstruktor kopiujący czy coś takiego, prawda?
Jaka jest tego składnia?
EDIT:
ok, już mam - zagnieżdżony template:
template <class T2>
CRect(const CRect<T2> &rect) : x(rect.x), y(rect.y), w(rect.w), h(rect.h) {}
Temat do usunięcia