If the text browser is public, then what sense does it make to declare the displayMessage() a friend function? You can call the text browser directly, without being friends with the class.