A commonly held belief is that the friend construct in C++ is a violation of encapsulation. However, little empirical
analysis of its use has taken place to provide evidence to support this claim. This paper presents a study which assesses the design implications of including friendship in a system. A number of hypotheses are investigated based on previous work in this area by Counsell and Newson, [4]. Our initial findings suggest that classes declared as friends are coupling hotspots, that the more friends a class has the more protected and private members it will contain and that friendship is not used to access inherited protected members.
History
Publication
Proceedings of the 13th international workshop on program comprehension (IWPC’05); pp 329-333