技术开发 频道

静态成员的作用以及用法的总结

  五、 类的静态函数成员

  在上面的例子中,每个对象都与一个 ShowCount 的拷贝,可以与 类的静态数据成员一样,设为共享方式。这就需要定义为静态函数成员了。

  相关定义如下:

class Point
{
public:
Point(
int m , int n ) { x = m ; y = n ; count++ ;}
Point( Point
& p) ;
~Point() { count-- ;}
static void ShowCount() { cout << count << endl; }
private:
int x ;
int y ;
static int count ;
}
int Point::count = 0 ; // 注意初始化的方式

  在如下代码中:

Point A(4,5) ;
A.ShowCount() ;
// 通过对象名引用
Point:: ShowCount() // 通过类名来引用,推荐使用这个方式

  需要注意的是,静态成员函数中不可以使用 this 指针,一般是用来访问 静态数据成员的,不做其他用途。(访问非静态成员需要通过参数传递对象名,通过对象名来访问)。

1
相关文章