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.
本文深入探讨了静态成员变量和静态成员函数的概念,通过具体示例解释了它们的使用方式及注意事项。特别强调了静态成员函数仅能访问静态成员变量和函数的特点,并通过代码示例展示了这一规则的应用。
390

被折叠的 条评论
为什么被折叠?



