设为首页 加入收藏

TOP

3.7.1 类数据成员
2013-10-07 15:33:21 来源: 作者: 【 】 浏览:60
Tags:3.7.1 数据 成员

3.7.1   类数据成员

例3-35

 

本例举例说明了声明静态成员的语法。Task类的数据成员n与Task类本身相关,与任何Task对象无关。由于n是静static,它对整个Task类而言只有一个,而不是每个Task对象都有一个n。图3-6展示了类c,它拥有一个非static数据成员x和一个static数据成员s。

我们可以利用n来确定当前存在的Task对象的数量,为此我们对Task类的构造函数和析构函数作如下修改:

 
假定static数据成员n初始化为0,则n就会将运行时Task对象的数量保存下来。
 

如例3-35所示,static数据成员在类声明的内部声明,同时static数据成员还需进行定义。

例3-36

 

本例修改了例3-35,增加了对static数据成员n的定义。正如以上代码所示,在类声明内部声明的static数据成员必须在任何程序块之外定义。请注意数据成员的名称是Task::n而不是n。我们将Task::n初始化为0,但这不是必需的,因为在所有程序块之外定义的任何变量都将自动地初始化为0,除非编程(www.cppentry.com)人员提供一个不同的初值。

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

例3-37

 
在系统中表达式sizeof(C)和sizeof(c1)的值都是16。如果将类声明做如下修改:
 
 
这两个sizeof表达式仍然等于16,这是因为static数据成员不影响该类与类对象的sizeof。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.7.2 类成员函数 下一篇3.10 编程习题(3)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python中文网 - 人生 (2025-12-24 18:49:47)
·【整整648集】这绝对 (2025-12-24 18:49:44)
·Python超详细一条龙 (2025-12-24 18:49:42)
·【超详细】JDK 下载 (2025-12-24 18:19:32)
·Java_百度百科 (2025-12-24 18:19:29)