C++类中的静态成员
静态数据成员
我们知道全局变量是可以在文件中共享的,但是用全局变量时,安全性却得不到保证,因为在文件中的任何地方都可以自由的修改全局变量,很可能造成误操作,导致程序的错误。
如果,我们想在同类个多个对象之间实现数据共享,可以不使用全局变量,而使用静态数据成员的。
静态数据成员是一种特殊的成员,它一static开头:
===========示例代码1.1==========================
静态成员函数成员函数也可以定义为静态的,在类中声明函数的前面加static就成了静态成员函数
分析:
toal是公有的成员函数,其作用是将一个学生的成绩累加到sum中。共有的成员函数可以引用本对象中的一般是数据成员(非静态数据成员),也可以引用类中的静态数据成员。score是非静态数据函数,num和count是静态数据成员。
average是静态数据成员,它可以直接引用私有的静态数据成员(不必加对象名),函数返回成绩的平均值。
在main函数中,引用total函数要加对象名,引用静态成员函数average要用类名(或对象名)。
在C++程序中,最好养成这样的习惯:
只用静态成员函数引用静态数据成员,而不引用非静态数据成员