C++笔记

类的static数据成员和成员函数

c++除了支持数据成员和成员函数,还支持另外一种类型的成员,这种类成员属于类本身,而不属于类的对象,我们称之为类成员,而将属于对象的成员称之为对象成员,使用static关键字就可以创建一个类成员
class task   
{   
public:   
//..   
private:   
  
static unsigned n;//类成员   
}
;  

上例说明了静态成员的语法。

这里我理解的静态成员是应该是各类的实例共享的一段内存空间,因为静态成员的存在并不会影响整个类的大小,并且如果不同的类的实例对静态成员进行操作时,他们操作的是同一个静态成员。

在类声明内部声明的static数据成员必须在任何程序块之外定义。

1unsigned task::n = 0;

static数据成员不会影响该类及其对象的sizeof。

static成员函数:

静态成员函数只能访问其他的static数据成员。同样定义的时候在返回类型之前加入关键字static关键字即可。

 1#include <string>   
 2#include <iostream>   
 3using namespace std;   
 4class task   
 5{   
 6public:   
 7    task(){}   
 8    ~task(){}   
 9    static void getNum();   
10private:   
11    static unsigned n;   
12}
;   
13void task::getNum()    
14{   
15    cout<<n<<endl;   
16    ++n;   
17}
   
18unsigned task::n = 5;   
19int main(void)   
20{   
21    task t1,t2;   
22    t1.getNum();   
23    t2.getNum();   
24}
  
25


posted on 2010-05-25 22:25 李旭东 阅读(216) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理


导航

<2026年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

统计

常用链接

留言簿

随笔分类(1)

随笔档案(1)

文章档案(1)

搜索

最新评论