#include <iostream>
#include <string>
class Test
{
public:
static int i;
};
int Test::i = 0;
int main()
{
Test a;
std::cout << Test::i << std::endl;
std::cout << a.i << std::endl;
return 0;
}
声明:
1、加static标识。
定义:
1、static数据成员必须在类定义体的外部定义;
2、在说明前面加static,但是在定义的时候不用加static(以免与一般静态变量或对象相混淆)
3、定义时不加该成员的访问权限控制符private,public等
4、初始化时使用作用域运算符来标明它所属类,因此,静态数据成员是类的成员,而不是对象的成员。
访问:
如果是public访问权限:
1、 访问数据成员两种方式: <类名>::<静态成员名> 或者是 <类对象>.<静态成员名>