A-A+

如下程序的输出结果是 #include<iostream> using namespace

2022-08-05 22:54:52 问答库 阅读 173 次

问题详情

如下程序的输出结果是 #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=1
C.n=2
D. n=3请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:静态数据成员的初始值n=1,执行Test*p=new Test;,调用构造函数后,n= 3,deletep;调用析构函数,n-=3,所以最终n=0。

考点:程序