65,211
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class Test
{
private:
static int iCounter; //声明一个静态变量记录构造函数的调用次数
public:
Test(); //声明构造函数
~Test(); //声明析构函数
};
int Test::iCounter=0; //谁能帮我解释一下这一条?
Test::Test()
{
iCounter++;
cout<<"调用构造函数!对象tObj"<<iCounter<<"开始"<<endl<<endl;
}
Test::~Test()
{
cout<<"调用析构函数!对象tObj"<<iCounter<<"结束"<<endl<<endl;
iCounter--;
}
Test tObj1;
int main()
{
cout<<"main()函数开始"<<endl;
Test tObj2;
{
cout<<"内部函数块开始"<<endl;
Test tObj3;
cout<<"内部函数块结束"<<endl;
}
cout<<"main()函数结束"<<endl;
return 0;
}
#include <iostream>
using namespace std;
class Test
{
private:
static int iCounter; //声明一个静态变量记录构造函数的调用次数
public:
Test(); //声明构造函数
~Test(); //声明析构函数
};
int Test::iCounter=0; //谁能帮我解释一下这一条?//这里是初始化iCounter,因为是静态变量,不能在构造函数中初始化
Test::Test()
{
iCounter++;
cout<<"调用构造函数!对象tObj"<<iCounter<<"开始"<<endl<<endl;
}
Test::~Test()
{
cout<<"调用析构函数!对象tObj"<<iCounter<<"结束"<<endl<<endl;
iCounter--;
}
Test tObj1;
int main()
{
cout<<"main()函数开始"<<endl;
Test tObj2;
{
cout<<"内部函数块开始"<<endl;
Test tObj3;
cout<<"内部函数块结束"<<endl;
}
cout<<"main()函数结束"<<endl;
return 0;
}