![]() |
1
2
请记住,尽管 朋友 函数出现在类定义中, 朋友 函数不是函数成员。A. 朋友 类的函数是在类之外定义的,但是 朋友 该功能已允许非公共成员访问。有些人认为“友谊”会破坏信息的隐藏。有时 朋友 函数用于生成测试程序类。 当对象类应该只共享变量的一个副本时,将使用静态数据成员。因此,当所有类成员只需要一个副本就足够了时,必须使用静态数据成员来保存存储。 对于静态成员函数,可以查看以下内容: When to use static member function? |
![]() |
2
1
|
![]() |
3
1
它们是不同的概念: 如果一个类、方法或函数是类X的朋友,则该类、函数或方法可以访问被声明为私有的类X的成员,因此通常不能在类外部访问
静态成员是在该类的所有对象实例之间共享的数据成员,或者是可以在没有该类的实例对象的情况下调用的方法。
|
![]() |
4
1
静态方法可以在不经过类实例的情况下调用,因此它们没有任何直接访问权限,它们类似于全局函数,但嵌套在类的命名空间中。但是,如果您给它们一个该类的实例作为参数,它们将能够访问成员变量,而无需像非静态方法一样通过访问器。像静态方法一样,friend函数如果您给它们一个类的实例作为参数,它们将能够直接访问成员变量。 |
![]() |
5
0
没有一个他们都有完全的访问权。
它完全取决于上下文以及什么使代码更容易阅读。
在你上面的例子中,我当然更喜欢
|
![]() |
Dilini Peiris · 有所谓的局部静态内部类吗? 7 年前 |
![]() |
shankar upadhyay · java中静态方法内部的静态变量 7 年前 |
![]() |
tblznbits · 如何在定义全局方法时从继承的类中动态选择子类 7 年前 |
|
Hash Doe · 为什么类变量可以通过类实例访问?[副本] 7 年前 |
![]() |
Rakesh · Java8中的静态方法 7 年前 |
![]() |
Youngjae · ASP。控制器中的网络和静态方法 7 年前 |