随笔 - 30, 文章 - 0, 评论 - 64, 引用 - 0
数据加载中……

静态成员(Static members)

静态成员与全域变量(global variable)具有相同的属性,但它享有类(class)的范围




C++ 标准,为了避免它们被多次重复声明,
在class的声明中只能够包括static member的原型(声明),
而不能够包括其定义(初始化操作)。
为了初始化一个静态数据成员,
我们必须在class之外(在全域范围内),
包括一个正式的定义,就像上面例子中做法一样。





在提醒一次,它其实是一个全域变量。唯一的不同是它的名字跟在class的后面。

就像我们会在class中包含static数据一样,我们也可以使它包含static 函数。
它们表示相同的含义:static函数是全域函数(global functions),但是像一个指定class的对象成员一样被调用。
它们只能够引用static 数据,永远不能引用class的非静态(nonstatic)成员。
它们也不能够使用关键字this,因为this实际引用了一个对象指针,
但这些 static函数却不是任何object的成员,而是class的直接成员。

posted on 2008-12-04 18:34 henry08 阅读(327) 评论(0)  编辑 收藏 引用 所属分类: C++


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理