关于类的非静态函数和静态函数

静态函数主要是用来访问静态成员,不能直接访问类的非静态成员;
而非静态函数既可以访问静态成员,也可以访问费静态成员。

那请教各位,既然非静态函数把一切都搞定了,那静态函数存在的实质意义是什么呢?因为它能够处理的静态成员完全可以由非静态函数来访问,那一切都用非静态的好了,有什么情况是非用静态函数或者说用静态函数好呢?不明白它的实用意义~~~

静态函数是属于类所有,非静态函数属于对象所有
如果一个类里面有一个静态函数,一个非静态函数
你实例出一个对象来就可以访问里面的非静态函数
不实例对象,单单类名.成员这种样子才能访问静态函数

也没什么区别,如果你实例一个对象的话,就是只有这个对象独立使用这个非静态函数,可是非静态函数是类使用的,也就是公用的差不多

就像是一个是公用厕所,一个是家用厕所一样
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-01
静态函数实质上和普通函数没有什么区别 。

但是静态函数有个“属于某个类”的这样一个特点,比较容易理解。

举个例子,用Integer类来封装int有关的操作。有个函数MaxValue()返回最大的整数。这个就可以写成静态函数,它与对象无关。

static int Integer::MaxValue()
{
return 0x7fffffff;
}
第2个回答  2009-09-01
静态函数只能在定义它的文件中调用,其他文件中不能调用,防止函数同名问题吧
相似回答