class List { private: class Node { public: int data; Node * next; Node (int data, Node *next) { Node::data = data; Node::next = next; } }; Node *head; public: // default contstructor: creates empty list List () { head = NULL; }; // destructor: destroys list ~List (); // outputs list contents to cout void outputList () const; // adds a value at the beginning of the list void insert (int value); // Method "sumEvenValues" returns the sum of the nodes in the list containing even values. // Note that "containing" refers to the *contents* of the node, not its position in the list. // If the list has no even values, it returns 0. int sumEvenValues() const; // Method "deleteEveryThirdNode" deletes the 3rd, 6th, 9th, etc. node of the list. // Note that the list starts with the first (not "zeroth") node. // If the list has fewer than three nodes, this method has no effect. void deleteEveryThirdNode(); };