C++中类的成员函数定义成static与C中的static的函数有什么不同

具体的说:C中的static型的函数只能在本源文件中引用,不能被外部文件引用,那若在C++中定义一个类,其中有成员函数定义成static型时,有什么作用?对该函数有什么制... 具体的说:C中的static型的函数只能在本源文件中引用,不能被外部文件引用,那若在C++中定义一个类,其中有成员函数定义成static型时,有什么作用?对该函数有什么制约吗? 展开
 我来答
曾听南7L
2011-04-17 · 超过18用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:43.5万
展开全部
类的静态成员函数不与任何对象相联系,它可以直接访问类的静态数据成员,而不能直接访问类的普通数据成员(即非静态数据成员),因为普通数据成员只有类的对象存在时才有意义。
C中的静态函数只在本文件中有效。
血天蓝海
2011-04-08 · 超过20用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:0
展开全部
如果是静态函数 static 类型 函数名(形参){}这样的函数 它可以被 类名::函数名(参数)调用
也可以被 对象.函数名(参数)调用
如果是静态变量 static int a;这样的类里面的 是所以对象共享的一个变量 可以改变 使用前必须初始化 初始化 int 类名::a=0; 赋值 在类函数中a=10; 只能本文件使用 楼主应该懂了吧...别听楼上的说不能赋值...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天蝎神经侠侣
高粉答主

2015-09-13 · 关注我不会让你失望
知道大有可为答主
回答量:7533
采纳率:67%
帮助的人:720万
展开全部
类的静态成员函数不与任何对象相联系,它可以直接访问类的静态数据成员,而不能直接访问类的普通数据成员(即非静态数据成员),因为普通数据成员只有类的对象存在时才有意义。
C中的静态函数只在本文件中有效。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
维乐心灵音乐
2011-04-05 · TA获得超过531个赞
知道小有建树答主
回答量:1063
采纳率:50%
帮助的人:489万
展开全部
不是吧,记得static静态成员的说明是
所有的该类的对象共用这一个成员,直接用类名访问就可以
初始化的时候必须在类外初始化

只在本文件中使用的那个,应该是私有吧……………………
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HarborLee
2011-04-08 · TA获得超过1007个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:111万
展开全部
静态函数:
定义一个静态函数,只需在函数类型前再加一个“static”关键字即可,如下所示:
static 函数类型 函数名(函数参数表)
{……}
关键字“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。
使用静态函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。

静态数据成员:
在类中定义一个静态数据成员(定义时必须初始化!),这个数据成员就不能再次赋值,只能表达式运算!如:static int a=10;如果再次赋值:a=20;就会报错!
如果编程时,一些变量不想让用户更改,就可以定义静态数据成员。一般编写大型程序,都有很多静态数据成员!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式