首页 > 其他 > 详细

类中的静态成员

时间:2015-10-06 16:53:36      阅读:275      评论:0      收藏:0      [点我收藏+]

1、静态数据成员

  • 静态数据成员可以初始化,但只能在类体外进行初始化。除非被声明为const

 

 1 class Time
 2 {
 3 public:
 4     Time(int h,int m,int s,int tz):timezone(tz){}  //error,无法通过构造函数初始化静态数据成员 
 5     void printTime();
 6     static int timezone=1;  //error:只有静态常量整型数据成员才可以在类中初始化
 7     const static int timezone=1;  //ok
 8     
 9 private:
10     int hou;
11     int min;
12     int sec;
13 };
14 
15 int Time::timezone=1; //ok,static数据成员类外初始化,不必再初始化语句中加static
  • 无法通过构造函数初始化static成员

 

2、静态成员函数

  • 与静态数据成员一样,静态成员函数与类关联,而不是与该类的对象相关联
  • 静态成员函数没有this指针,由此决定了静态成员函数(默认)不能访问本类中的非静态成员
  • 静态成员函数可以直接引用本类中的静态数据成员,因为静态成员同样属于类,可以直接引用
  • static成员函数不能被声明为const,也不能被声明为虚函数

类中的静态成员

原文:http://www.cnblogs.com/conard/p/4857257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!