1、在成员声明前加上关键字static将设置static成员,static成员遵循正常的公有/私有访问控制
2、static成员是类的组成部分而不是某个对象的组成部分,因此static成员函数没有this指针。
3、static数据成员可以设置成const类型,但static成员函数不能声明为const,也不能声明为虚函数
4、static数组成员必须在类中声明,在类体外定义。static成员不是通过类的构造函数进行初始化的,是在定义时进行初始化。
在类体外定义时不能标示为static
class account{
private:
static double interestrate;
};
double account::interestrate=0.0037;
5、一般而言,类的static成员,像普通数据成员一样,不能在类的定义体中初始化。但有例外,就是整形const static数据成员
class account{
private:
const static double rate=0.0037;
};
其实static const char character='c';也可以在类体中定义
6、静态成员函数一般只能访问静态成员变量,如果要访问非静态变量,只能访问某一具体对象的非静态成员或函数。
非静态成员函数可以访问静态变量。
7、static数据成员可以用作默认实参,非static数据成员不能作为默认实参,因为它的值不能独立于所属的对象而使用