有一些类成员函数说f()是私有还是静态是否有意义? e.g。
class MyClass
{
...
private:
static int foo();
}
感谢。
非常感谢您的所有评论!好,我知道了。是的,确实最初我开始使用 我班级的静态函数,因为它们与我班级的对象无关 - 正在做一些其他的操作。现在我也意识到他们不需要公开。 所以,我想我会这样离开他们。 当我删除静态关键字时,我开始出现一些错误(显然是因为它在整个课程中的使用方式,所以我现在懒得修复它们,只会让它变成私有并保持静态:)。
答案 0 :(得分:5)
是。例如:用于初始化或其他目的的私有静态成员函数。
有关详情,请参阅此帖子:What is the use of private static member functions?
答案 1 :(得分:3)
当然,有时候。例如,同一类的公共静态方法使用的实用程序函数。
答案 2 :(得分:3)
是的,拥有静态私有成员函数是有道理的。例如,它可能是仅由同一类的其他成员使用的无状态效用函数。
不,你的班级没有意义。由于MyClass
没有其他成员,因此任何实体都无法看到您的MyClass::foo
。
答案 3 :(得分:0)
绝对!想象一个纯静态的类,如统计函数类。辅助函数可以是私有的,也可以是静态的。
答案 4 :(得分:0)
当然。您可以将它用于您班级的内部目的,即私人职能,即
class A{
public:
static int i_;
private:
void privatef(){hiden_i_++;}
static int hiden_i_;
};