请问C++中类的静态成员函数有什么作用?

如题,感觉静态成员函数和普通成员函数除了对实例数据成员的访问会有一些区别,其它方面似乎没有什么不一样的啊,在内存中都是只有一个copy,到底为什么要做出一个静态成员函数啊?

静态成员函数主要为了调用方便,不需要生成对象就能调用。比如
class X
{
public:
void MethodA();
static void MethodB();
}
此时MethodB可以直接调用,X::MethodB();
MethodA必须先生成类对象才能调用,X x; x.MethodA();
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-30
昂 我也不是十分了解昂 个人觉得 是因为有静态数据成员(各个对象之间能通用),而静态数据成员是在类外单独存储的 c++中 成员函数访问数据成员都用的是this指针 因为静态数据成员单独存储所以它不属于你建立的对象所以不好调用 而静态成员函数就能访问它。所以就挺好用。而且 据说是在大程序中封装比较重要 限制访问比较不错 答的微微有点乱
第2个回答  2012-03-30
静态成员函数并不是不可调用的私有函数,之所以设置为静态,①是为了提前预编译,在某中程度上提高运行速率,②静态函数在整个运行周期中一直存在,也使得某些变量保存调用后的状态
第3个回答  2012-03-30
一开始答错了,对不起楼主...
请参考楼下们的回答
相似回答