#pragma once #include using namespace std; class Data; class List { public: Data * first; Data * last; public: Data * getFirst() { return first; } Data * getLast() { return last; } private: void printItem (Data * data); public: List(); ~List(); void insertFirst(Data * data); void insertLast(Data * data); void insertAfter(Data * old, Data * data); void insertBefore(Data * old, Data * data); void remove (Data * data); void purge(); void print(); }; class Data { public: Data * prev; string name; int r; int g; int b; Data * next; Data (); Data (string n0, int r0, int g0, int b0); };