C++ static内容小结
C++中static总结比较好的博客:http://blog.csdn.net/laixingjun/article/details/9139839
http://blog.csdn.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 = 10; int main() { Box a(15,20) ,b(20,30); cout<<a.height<<endl; cout<<b.height<<endl; cout<<Box::height<<endl; cout<<a.volume()<<endl; }
【1】这说明静态数据成员并不是属于对象的,而是属于
类的,但类的对象可以引用它。
【2】静态数据成员的作用域只限于定义该类的作用
域内(如果是在一个函数中定义类,那么其中静态
数据成员的作用域就是此函数内)。在此作用域
内,可以通过类名和域运算符“∷”引用静态数据成
员,而不论类对象是否存在。
【3】静态成员函数
A: 静态成员函数的作用不是为
了对象之间的沟通,而是为了能处理静态数据成员
B: 静态成员函数与非静态成员函数的根本区
别是: 非静态成员函数有thisthis指针,而静态成员函
数没有this指针。由此决定了静态成员函数不能访
问本类中的非静态成员。