Are friend functions the correct answer here?

Printable View