类的static数据成员及成员函数
来源:优易学  2011-12-4 10:17:02   【优易学:中国教育考试门户网】   资料下载   IT书店

  类static成员的两个问题:

  如果需要在一个类的各个对象间交互,即需要一个数据对象为整个类而非某个对象服务,这个时候常用类成员来解决问题。

  1、静态数据成员要在类外定义。

  2、类的静态成员函数是属于整个类而非类的对象,所以它没有this指针,这就导致了它仅能访问类的静态数据和静态成员函数,如果一定要访问成员变量,可以在参数中传入对象,通过对象可以访问类的私用和公有成员。

  例如:

  class CA

  {

  public:

  CA( int a1 );

  int a;

  // int sum();

  static int sum( CA *A);

  private:

  static int count; //= 30; //= 0;

  };

  int CA::count;

  CA::CA( int a1 )

  {

  a = a1;

  }

  int CA::sum( CA *A)  /////////static函数sum调用了类的非静态变量a

  {

  if(A->a > 30 )

  {

  return 0;

  }

  else

  {

  return 1;

  }

  }

  void main()

  {

  CA A( 1 );

  A.sum( &A );

  }

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训