const类成员:
(1)const static int 可以使static数据成员在类定义体内初始化;
(2)可以通过将数据成员声明为mutable来实现对该类const对象的该数据成员的更改;
(3)初始化const数据成员的唯一机会是在构造函数的初始化列表中,直接在类的定义体中以及在构造函数的定义体中初始化都是不正确的。
(4)构造函数不能声明为const
static类成员:
在类的外部定义static成员时,无须重复指定static。
static成员独立于该类的任意对象而存在,每个static对象是与类关联的对象,并不与该类的对象相关联。
static数据成员:
(1)在类的定义范围内是声明,必须在类的外部定义,不能通过构造函数初始化,须在定义时初始化。
(2)不同的类对象中共享static数据成员。
static函数:
(1)没有this指针,也不能被声明为虚函数和const函数。
(2)可以直接访问所属类的static成员,但不能直接使用非static成员,而非static函数可使用static成员。
(3)可以在类定义范围内定义。
对static变量来说,派生类和父类中的static变量是共用空间的