下列程序的输出结果是______。 #include<iostream> using namespace std; Class Test{ public: Test(){cnt++;} ~Test(){cnt--;}

admin2010-06-06  29

问题 下列程序的输出结果是______。
   #include<iostream>
   using namespace std;
   Class Test{
   public:
   Test(){cnt++;}
   ~Test(){cnt--;}
   static int Count(){return cnt;}
   private:
   static int cnt;
   };
   int Test::cnt=0;
   int main()
   {
   cout<<Test::Count()<<"";
   Test t1,t2;
   Test*pT3=new Test;
   Test*pT4=new Test;
   cout<<Test::Count()<<"";
   delete pT4;
   delete pT3;
   cout<<Test::Count()<<end1;
   return 0;
   }

选项

答案042

解析 此题考查的是类的构造函数与析构函数的调用。语句 cout<<Test::Count()<<"";;输出“0”,因为static型变量cnt的默认值是0;“T Test ti,t2;Test*pT3=new Test;Tcst*pT4=new Test;”调用4次类的构造函数,使得cnt的值增加到4,并输出4;然后delete pT4;delete pT3;调用两次析构函数,cnt的值变为2,并输出2。
转载请注明原文地址:https://jikaoti.com/ti/mUW0FFFM
0

最新回复(0)