C++中static函数类外定义的时候为什么不写static?

如题所述

static用于修饰成员变量或成员函数时,只在声明时在类的内部声明即可,实例化或定义的时候不用加static。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-03
static常用的两个作用,一个是作用域限制,一个是生存期限制。
对函数来说:
作用域限制:被static修饰的函数,只能用于代码本身文件的调用。
生存期限制:对函数来说,这条是用来说类的静态成员函数的。在类对象出生前,类的静态成员函数就活着了。
如果类外定义函数时在函数名前加了static,因为作用域的限制,就只能在当前cpp里用,
类本来就是为了给程序里各种地方用的,与类的本意冲突,限制了类的自由。
所以在类外实现类成员函数时,函数名前加个static修饰符就报错了。
相似回答