静态成员
在声明前面加了static关键字。
普通成员变量,每个对象各自一份。而静态成员变量只有一份,被所有对象共享。
sizeof运算符不会计算静态成员变量!
class CMyclass
{
int n;
static int s;
};
//则sizeof(CMyclass)=4
普通成员函数必须具体作用于某个对象,而静态成员函数并不具体作用于某个对象!
静态成员不需要通过对象访问!
如何访问静态成员
class CRectangle
{
private:
int w,h;
static int nTotalArea;
static int nTotalNumber;
public:
CRectangle(int _w,int _h);
~Crectangle();
static void PrintTotal();
}
(1)类名::成员名
CRectangle::PrintTotal();
(2)对象名.成员名
CRectangle r;r.PrintTotal();
(3)指针->成员名
CRectangle *p=&r;p