PPT Slide
class List { // C++ List classprivate: class Link; // forward definition Link * firstElement; class Link { // nested class definition public: int value; Link * forwardLink; Link * backwardLink; Link (int v, Link * f, Link * b) { value = v; forwardLink = f; backwardLink = b; } void addBefore (int val) { Link * newLink = new Link(val, this, backwardLink); if (backwardLink == 0) firstElement = newLink; // ERROR ! else { backwardLink->forwardLink = newLink; backwardLink = newLink; } } ... // other methods omitted };public: void push_front(int val) { if (firstElement == 0) firstElement = new Link(val, 0, 0); else firstElement->addBefore (val); } ... // other methods omitted