Output Operator Overloading Not a class method, ie. an external function: class List { // ... }; ostream& operator<<(ostream &os, const List &list) { // ... }