预测以下C++程序的输出。
null
#include <iostream> using namespace std; class Test { static int x; public : Test() { x++; } static int getX() { return x;} }; int Test::x = 0; int main() { cout << Test::getX() << " " ; Test t[5]; cout << Test::getX(); } |
(A) 0 0 (B) 5 5 (C) 0 5 (D) 编译错误 答复: (C) 说明: 静态函数可以在没有任何对象的情况下调用。因此,调用“Test::getX()”就可以了。
由于x被初始化为0,因此对getX()的第一次调用返回0。注意构造函数中的语句x++。当创建一个包含5个对象的数组时,构造函数被调用5次。因此,在下一次调用getX()之前,x将增加到5。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END