问题 单项选择题

有下列程序: #include<iostream> using namespace Std; class Test { public:Test() {n+=2;}~Test() {n-=3;}static int getNum(){return n;} private:static int n; }; int Test∷n=1; int main() {Test*p=new Test;delete p;cout<<"n="<<Test∷getNum()<<endl;return 0; } 执行该程序的输出结果是( )。

A.n=0

B.n=l

C.n=2

D.n=3

答案

参考答案:A

解析:
此题考查的是静态数据成员和静态成员函数。静态数据成员是类中所有对象共享的成员,而不是某个对象的成员。题目中的静态数据成员n的运算具有叠加性,执行“n+=2”和“n-=3”后n的值为0。

多项选择题
单项选择题