静态成员

原创
2015/05/30 18:32
阅读数 5

一.静态数据成员的引入原因

为了使一个类的所有对象具有相同的属性,属性值不同。

静态成员的类属性:描述类的所有对象的共同特征的一个数据项,对于任何对象实例,它的属性值是相同的。

二.静态数据成员的声明

  1. 用关键字static声明

  2. 该类的所有对象维护该成员的同一个拷贝(即所有对象的这个属性只有一个值)。

  3. 必须在类外定义和初始化,用(::)来指明所属的类。

    例:int Point::countP=0;       //countP在类声明中是静态数据成员

  4. 在类的声明中仅仅对静态数据成员进行引用性说明,必须在文件作用域的某个地方使用类名限定进行定义性说明,这时也可初始化。

三.静态成员函数引入原因

静态成员函数主要为了调用方便,不需要生成对象就能调用。

比如 class X

          { public: void MethodA();

              static void MethodB(); }

此时MethodB可以直接调用,X::MethodB();

MethodA必须先生成类对象才能调用,X x; x.MethodA();

四.静态成员函数的使用

  1. 类外代码可以使用类名和作用域符(::)来调用静态成员函数。

  2. 静态成员函数只能引用属于该类的静态数据成员或静态成员函数

注意:静态成员属于类,非静态成员属于对象。

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部