We can avoid the explicit manipulation of links by subclassing the List class, as well as the Link class.
class DoubleList : public List {
public:
void Add(double v)
{ List::add(new DoubleLink(v)); }
double First()
{ return firstElement->value; }
int Includes(double v)
{ DoubleLink v1(v);
return List::includes(v1); }
};