#pragma once #include using namespace std; struct Node { int data; Node* next; Node(int data, Node* next) { this->data = data; this->next = next; } friend ostream & operator<< (ostream & out, const Node & x); }; class Error { }; class List { private: Node* first; Node* last; Error err; public: List() ; ~List(); bool isEmpty() const; void push_back(int x); int operator[] (int i)const; List& operator=(const List& other); friend ostream & operator << (ostream & out, const List & y); };