基本概念
静态成员:在说明前加了static关键字的成员
静态成员和普通成员的区别
如何访问静态成员

注意:
1.后三种访问方式叫做实例方法,它们仅仅是一种形式而已,不意味着这些静态成员属于或者作用于某个指定的对象!
2.建议使用第一种类方法的形式
关于静态成员的深入理解
代码实例
#include <bits/stdc++.h>using namespace std;class Rect{private:int w, h;static int TotalNumber;static int TotalArea;public:Rect(int, int);//普通构造函数Rect(const Rect &);//复制构造函数~Rect(void);//析构函数static void PrintTotal(void);};Rect::Rect(int _w, int _h){w = _w;h = _h;TotalNumber++;TotalArea += w * h;}//有对象被初始化Rect::Rect(const Rect &r){w = r.w;h = r.h;TotalNumber++;TotalArea += w*h;}//有对象被初始化Rect::~Rect(void){TotalArea -= w * h;TotalNumber--;}//有对象消亡了void Rect::PrintTotal(void){cout << TotalNumber << ends << TotalArea << endl;}int Rect::TotalArea=0;int Rect::TotalNumber=0;//必须对静态成员变量进行说明或者初始化,否则编译通过而链接不会通过int main(void){Rect r1(2, 3), r2(4, 5);Rect r3(r2);Rect *r4 = new Rect(6, 7);delete r4;Rect::PrintTotal();// 3 46return 0;}
注意:在静态成员函数中,不可以直接访问非静态成员变量,也不可以直接调用非静态成员函数,不过反过来是可以的

