ADT
OOP
list<int>* r = new cons<int>(1,new cons<int>(2,new interval(3,7))); while (! r->empty()) { cout << ((listWL< int >*)r)->length() << endl; r = r->tail(); } delete r;