|
|
1
2
|
|
|
2
2
这些类型的情况并不经常出现,但有时您不得不使用不同的类和函数实现抽象或接口。经典的例子是实现某种类型的复数类。非成员运算符函数被赋予主复数类。 我还记得在C++中用CORBA编程时所做的事情。CORBA迫使我使用单独的类来实现CORBA服务。但对于我们软件的某个特定部分,我需要将它们作为一个接口结合在一起。友谊使这两个类能够一起工作,为我们软件的一部分提供无缝服务。 能够将另一个类上的特定成员函数标记为您的类的朋友可能看起来更奇怪,但这只是一种严格控制友谊的方式。您只允许其一个成员函数访问,而不允许整个其他类作为您的朋友“进入”。同样,这并不常见,但是 非常 在你需要的时候有用。 |
|
|
3
1
|
|
4
0
有时,公共/私人/受保护的保护级别不足以满足实际情况。因此,我们给出了一个小的get out子句,它有助于不必让方法公开访问。
|
|
|
5
0
我发现有一点是相关的:成员类可以访问包含类的私有部分。这有时可能是“朋友”的更好选择。
|
|
|
6
0
我有一个游戏,其中每个精灵对象存储其信息,如X,Y位置作为私人成员。 因此,游戏对象类有一个friend函数:render()。render()函数是在游戏对象类之外实现的,但它可以根据需要访问X、Y位置membefrs来渲染游戏对象。 |