И если убрать friend, то компилятор ругается на два параметра (т. к. первым параметром идет значение this). Видимо суть этого обявления в том, что на самом деле определяется оператор << для класса std::ostream (поэтому friend), который знает как выводить наш тип данных.