7.若有以下类Z说明,函数fStatic的正确定义是( a )。
class Z
{ int a;
public:
static void fStatic(Z&);
};
(a) void Z::fStatic(Z &objZ){ objZ.a=0; }
(b) void Z::fStatic(Z &objZ){ a= objZ.a; }
(c) void Z::fStatic(Z &objZ){ a=0; }
(d) void Z::fStatic(Z &objZ){ Z::a=0; }
静态成员函数只能访问静态成员变量和静态成员函数。
#include < iostream.h >
class T
{ public:
T(int x){ a=x; b+=x;};
static void display(T c)
{ cout<<"a="<<c.a<<'\t'<<"b="<<c.b<<endl; }
private:
int a;
static int b;
} ;
int T::b=5;
void main()
{ T A(3),B(5);
T::display(A);
T::display(B);
}
【答案】
a=3 b=13
a=5 b=13
切记b为类共同享有的,第一个b不是8.