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;
}
View Code

【1】这说明静态数据成员并不是属于对象的,而是属于
  类的,但类的对象可以引用它。

【2】静态数据成员的作用域只限于定义该类的作用
  域内(如果是在一个函数中定义类,那么其中静态
  数据成员的作用域就是此函数内)。在此作用域
  内,可以通过类名和域运算符“∷”引用静态数据成
  员,而不论类对象是否存在。

【3】静态成员函数

A:  静态成员函数的作用不是为
  了对象之间的沟通,而是为了能处理静态数据成员

B: 静态成员函数与非静态成员函数的根本区
  别是: 非静态成员函数有thisthis指针,而静态成员函
  数没有this指针。由此决定了静态成员函数不能访
  问本类中的非静态成员。

posted @ 2014-08-04 11:24  跨七海的风  阅读(160)  评论(0编辑  收藏  举报