when using overloaded output in C++, do I have to write an output overload function for each function i use? for example, if i write a program that uses overloaded addition and overloaded subtraction, will i need to write an ostream& operator<<( ) for both addition and subtraction or will just one ostream& operator<< work?