有下列程序: #include<iostream> using namespace std; classTest{ public: Test() {n+=2;} ~Test() {n-=3;} s

admin2010-12-16  38

问题 有下列程序:     #include<iostream>     using namespace std;     classTest{     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

选项 A、n=0     
B、n=l
C、n=2     
D、n=3

答案A

解析   语句Test*p=new Test;会调用类的构造函数Test()  {n+=2;},使n的值由原来的1变为3,然后delete p调用类的析构函数~Test()  {n-=3;},因为n是static型变量,所以会在3的基础上减3使得输出结果为0。
转载请注明原文地址:https://jikaoti.com/ti/4rL0FFFM
0

最新回复(0)