Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4253299
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: C/C++

2011-04-19 18:50:50

  静态成员变量

定义:  一个类中的成员变量,它存储在静态存储区,并且被

所有的类对象共享使用,这样的成员变量 我们称之为 静态成

员变量。

格式:
      satic  变量类型 变量名



静态成员变量在 类 中 定义,在类外声明同时初始化

  1. #include<iostream.h>
  2. {
  3.   public:
  4.     void get();
  5.   private:
  6.     static int count; 类中 定义
  7. };

  8. int CStudent::count=0;  类外,初始化

  1. void CStudent::get()
  2. {
  3.   ++count;
  4. }

  5. void main()
  6. {
  7.   CStudent stu1,stu2;
  8.   stu1.get();
  9.   stu2.get();
  10.   cout<<stu1.count<<endl;  输出  2
  11.   cout<<CStudent::count<<endl;   输出 2
  12. }

CStudent stu1,stu2; 定义了2个 CStudent,应该分配两个

空间,但是 由于我们get 是一个方法,他们的代码是相同

的,所以共享get这个方法的代码区,而且 count  是静态

区,原本应该开辟两个 空间,但是只需要 一个空间,他们共





stu1    
         共享   get  count
stu2 



stu1.get();后,count=1

stu2.get();后,count=2,所以 最后 输出 2








阅读(544) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~