码迷,mamicode.com
首页 > 其他好文 > 详细

static数据成员与const数据成员的定义与初始化

时间:2015-07-10 18:15:21      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

三种数据类型的初始化
  • 1.static int a 的初始化
  • const int a 的初始化
  • static const int a的初始化
三种初始化方式
  • 在类外初始化
  • 在构造函数中通过初始化列表初始化
  • 在声明的同时初始化 
一.static数据成员
    静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用"类名.静态成员名"访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员函数不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员函数可以直接访问类中静态的成员.
    静态数据成员在程序中也只有一份拷贝,由该类型的所有对象共享访问。
    静态数据成员存储在全局数据区
   静态数据成员定义时要分配空间,所以不能在类声明中定义。它不属于特定的类对象,在没有产生类对象时其作用域就可见,即在没有产生类的实例时,我们就可以操作它; 
    静态数据成员初始化的格式为: 
    <数据类型><类名>::<静态数据成员名>=<值> 
    类的静态数据成员有两种访问形式: 
    <类对象名>.<静态数据成员名> 或 <类类型名>::<静态数据成员名> 

 

二.const数据成员初始化方式 
通过构造函数列表初始化,不能在构造函数里初始化

技术分享

总结:
static int a要在类外初始化
const int a要在构造函数初始化列表中初始化
static const int a可以在声明的时候初始化,也可以在类外初始化。但不可以通过构造函数初始化列表初始化

static数据成员与const数据成员的定义与初始化

标签:

原文地址:http://www.cnblogs.com/happygirl-zjj/p/4636208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!