1

我刚刚遇到了具有protected静态类函数的代码,例如:

class C {
...

    protected:
        static int fun() { ... }
};

我很好奇静态类函数是否可以具有访问修饰符,这意味着什么?因为它们是类全局变量而不是实例前。

谢谢,博达赛多。

4

3 回答 3

1

C++ 中的访问修饰符不适用于每个实例。他们总是按班级工作。一直都是这样。这使得将它们也应用于静态成员是完全合乎逻辑的。

这是一个相当流行的误解,即 C++ 中的访问保护应该以某种方式在每个实例中起作用,这似乎也是激发您的问题的原因。

于 2010-07-05T02:08:41.693 回答
0

它仍然具有相同的目的:只有派生类才能调用该静态函数。

于 2010-07-05T02:03:47.570 回答
0

这意味着受保护:静态函数可以从该类的其他成员函数或派生类的成员函数访问。

于 2010-07-05T02:08:00.493 回答