若有以下说明,则对n的正确访问语句是( )。
class Y { //… ; public: static int n; }; int Y::n; Y objY;
A错在没有写出n的作用域。C错在对象后用作用域标识符,应该用点。D选项语法就错误了,是没有意义的表达式,类和对象没法比较。
class Y { public: static void func() { cout << "静态函数的调用!" << endl; } static int n; }; int Y::n; void test() { Y objY; objY.n = 1; objY.func(); cout << "objY.n = " << objY.n << endl; cout << "test()调用结束!" << endl; } void test1() { Y::n = 1; Y::func(); cout << "Y::n = " << Y::n << endl; cout << "test1()调用结束!" << endl; } int main() { test(); test1(); system("pause"); return 0; }分别用test()和test1()做了案例测试,可以看到类名初始化一个对象之后,可以用(对象.)来访问调用类中静态变量,也可以用(类名::)来访问调用类中静态变量,类中静态函数的访问调用也是如此。