1

假设您可以FooManager管理多个类型的对象FooFooManager需要查看其 s 的某些部分以Foo评估其当前状态。在我使用一些访问器Foo来查看这些部分之前,直到我意识到这FooManager是唯一真正使用这些部分的类。我决定交FooManager个朋友Foo。这导致大部分课程Foo变为私人课程。

这是对朋友的适当使用吗?我的理由是它有助于封装,因为虽然它提供了FooManager对 's 内部的完全访问权限Foo,但它完全阻止了对其他所有内容的访问。

4

1 回答 1

1

除非有一种不同且更清洁的方法来实现您想要实现的目标,否则这听起来是一种公平的方法。

关于封装,请参见: http: //www.parashift.com/c++-faq-lite/friends.html#faq-14.2

于 2010-07-19T00:44:42.007 回答