在C ++中调用类的静态函数

时间:2013-04-05 13:36:51

标签: java c++ static-methods

我现在正在编写很多java,所以我对java static 方法和c ++ static 函数感到困惑。

在java中,您可以从类中调用静态方法,并经常使用/查看它,例如:

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

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

2 个答案:

答案 0 :(得分:5)

您可以使用::范围运算符在C ++中执行此操作:

A::b();

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

答案 1 :(得分:2)

您可以使用A::B()

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