-3

我现在写了很多java,所以我对java静态方法和c++静态函数感到困惑。

在java中,你可以从一个类中调用一个静态方法,我经常使用/看到它,例如:

public class A{
    public void static b(){
        System.out.println("hello");
    }
}

你能做到,A.b();你能用 C++ 做到吗?如果是这样,与在java中这样做相比,它不是那么受欢迎吗?

4

2 回答 2

5

您可以在 C++ 中使用::范围运算符做到这一点:

A::b();

正如所指出的,如果您在当前范围内a有您的类的实例,您A也可以调用a.b(). 但是,在实例上调用静态方法通常会令人困惑,因此您可能希望避免使用它。

于 2013-04-05T13:38:23.087 回答
2

您可以使用A::B()

您也可以使用a.B()ifaA. 然而,对于阅读代码的人来说,这只是令人困惑。因此,只需坚持A::B()使用静态方法即可清楚地显示您的意思。

于 2013-04-05T13:40:53.300 回答