Я использую следующие классы шаблонов:
template <class T>
class Point2D
{
private:
T x;
T y;
...
};
template <class T>
class Point2D;
template <class T>
class Line{
private:
Point2D <T> *start;
Point2D <T> *start;
....
};
Если я хочу создать линию объекта, необходимо указать тип точки и тип линии
int main
{
Point2DC<double> p1(0,0);
Point2DC<double> p2(10,10);
Line<double> l(&p1,&p2);
...
}
Я нахожу это довольно бессмысленным ... Если точки двойные, значит, Линия также должна быть двойной ... Можно ли шаблонизировать только указатели в классе Line и не шаблонизировать весь класс, что-то в этом роде
template <class T>
class Point2D;
class Line{
private:
template <class T>
Point2D <T> *start;
Point2D <T> *start;
....
};
и используйте
int main
{
Point2D<double> p1(0,0);
Point2D<double> p2(10,10);
Line l(&p1,&p2);
...
}