#include using namespace std; class linkedListClass { public: linkedListClass(int newvalue) { dvalue=newvalue; next = NULL; } linkedListClass(int newvalue, linkedListClass *newNext) { dvalue=newvalue; next = newNext; } int getdvalue() { return (dvalue); } void addAfter(int newvalue) { linkedListClass *newnode = new linkedListClass(newvalue); newnode -> next = next; next = newnode; } void printlist() { cout << "\tcurrent node is " << dvalue << endl; if (next != NULL) next->printlist(); } private: int dvalue; linkedListClass *next; }; class realList { public: realList() { first = NULL; } realList(int nodevalue) { first = new linkedListClass(nodevalue); } void addbehind(int newvalue) { if (first == NULL) first = new linkedListClass(newvalue); else first->addAfter(newvalue); } void addinfront(int newvalue) { linkedListClass *newnode; if (first == NULL) first = new linkedListClass(newvalue); else { newnode = new linkedListClass(newvalue, first); first = newnode; } } int getdvalue() { if (first == NULL) return -1; else return(first->getdvalue()); } void printlist() { if (first == NULL) cout << "The List is currently empty.\n"; else { cout << "\nHere is the current list: \n"; first->printlist(); } } private: linkedListClass *first; }; int main() { realList *myList; myList= new realList(); myList->addbehind(23); cout << "From main:\n\tThe value is " << myList->getdvalue() << endl; myList->addbehind(45); myList->printlist(); myList->addinfront(10); myList->printlist(); return 0; }