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

如题,感觉静态成员函数和普通成员函数除了对实例数据成员的访问会有一些区别,其它方面似乎没有什么不一样的啊,在内存中都是只有一个copy,到底为什么要做出一个静态成员函数啊... 如题,感觉静态成员函数和普通成员函数除了对实例数据成员的访问会有一些区别,其它方面似乎没有什么不一样的啊,在内存中都是只有一个copy,到底为什么要做出一个静态成员函数啊? 展开
 我来答
qiaodamo
推荐于2017-10-08 · TA获得超过912个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:275万
展开全部
静态成员函数主要为了调用方便,不需要生成对象就能调用。比如
class X
{
public:
void MethodA();
static void MethodB();
}
此时MethodB可以直接调用,X::MethodB();
MethodA必须先生成类对象才能调用,X x; x.MethodA();
摩凝绿4E
2012-03-30 · 超过19用户采纳过TA的回答
知道答主
回答量:208
采纳率:0%
帮助的人:63.2万
展开全部
昂 我也不是十分了解昂 个人觉得 是因为有静态数据成员(各个对象之间能通用),而静态数据成员是在类外单独存储的 c++中 成员函数访问数据成员都用的是this指针 因为静态数据成员单独存储所以它不属于你建立的对象所以不好调用 而静态成员函数就能访问它。所以就挺好用。而且 据说是在大程序中封装比较重要 限制访问比较不错 答的微微有点乱
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2010huolong
2012-03-30 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:63.6万
展开全部
静态成员函数并不是不可调用的私有函数,之所以设置为静态,①是为了提前预编译,在某中程度上提高运行速率,②静态函数在整个运行周期中一直存在,也使得某些变量保存调用后的状态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
唐博1347
2012-03-30 · TA获得超过799个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:289万
展开全部
一开始答错了,对不起楼主...
请参考楼下们的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式