Department of Computer Science | Institute of Theoretical Computer Science | CADMO
Prof. Emo Welzl and Prof. Bernd Gärtner
Andererseits kann man aber auch mit Hilfe des auf Seite 79 unten diskutierten friend-Mechanismus der globalen Funktion Zugriff auf die privaten Member erlauben. Dafür muss die Funktion innerhalb der Klasse Rational als friend deklariert sein. Man sieht diesen Mechanismus häufig, er ist aber in unserem Fall nicht notwendig.
Keine gute Lösung ist es, die Funktion normalize einfach als public zu deklarieren. Dies würde zwar das Problem beseitigen, aber nur zum Preis einer unerwüschten Offenlegung von Implementierungsdetails, die den Benutzer der Klasse Rational nicht interessieren sollten.