C++中static总结比较好的博客:http://blog.****.net/laixingjun/article/details/9139839
http://blog.****.net/xiajun07061225/article/details/6955226
static的用法:
有时人们希望有某一个或几个数据
成员为所有对象所共有。这样可以实现数据共享。
#include<iostream>
using namespace std;
class Box
{
public:
Box(int,int);
int volume();
static int height;
int width;
int length;
}; Box::Box(int w,int len)
{
width = w;
length = len;
} int Box::volume()
{
return (height*width*length);
} int Box::height = ; int main()
{
Box a(,) ,b(,);
cout<<a.height<<endl;
cout<<b.height<<endl;
cout<<Box::height<<endl;
cout<<a.volume()<<endl;
}
【1】这说明静态数据成员并不是属于对象的,而是属于
类的,但类的对象可以引用它。
【2】静态数据成员的作用域只限于定义该类的作用
域内(如果是在一个函数中定义类,那么其中静态
数据成员的作用域就是此函数内)。在此作用域
内,可以通过类名和域运算符“∷”引用静态数据成
员,而不论类对象是否存在。
【3】静态成员函数
A: 静态成员函数的作用不是为
了对象之间的沟通,而是为了能处理静态数据成员
B: 静态成员函数与非静态成员函数的根本区
别是: 非静态成员函数有thisthis指针,而静态成员函
数没有this指针。由此决定了静态成员函数不能访
问本类中的非静态成员。