类的static数据成员 的问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 03:36:33
“类的static数据成员(成员变量)及static成员函数仅在类的头文件对他们的声明处使用关键字static,而在类的定义中(.cpp)不使用static.因为当static关键字应用到文件作用域中的某个元素时,该元素只在该文件中是已知的。而类的stati成员需要被任何访问文件的客户代码使用,所以我们不能在.cpp文件中将他们声明为static,而只在.h文件里这样做。”
这是什么意思。难道.cpp中也使用static,类的客户就不能调用了么?请详细解释一下。谢谢!

注意原文中说的
我们不能在.cpp文件中将他们 声明 为static,
如果在.cpp中声明,则此变量或函数不能在.h声明(声明只有一个),而只有.h才会被使用该类的客户include到,所以不能调用。

cpp中也用static,它的作用域被限制在那一个cpp里了,而放在头文件中,一般在程序的开头声明,所以一般是全局的(自它声明之处起)