首页 > 代码库 > C++ static内容小结
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指针。由此决定了静态成员函数不能访
问本类中的非静态成员。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。