目的:研究构造函数和析构函数和所有的执行顺序
#include
using namespace std;
class person
{
public:
void ad()
{
cout<<“这是一个测试” << endl;
}
person()
{
cout<<“构造函数”<<endl;
}
~person()
{
cout<<"析构函数"<<endl;
}
};
void test(person p)
{
p.ad;
}
int main()
{
person p ;
test §;
}
结果:发现析构函数出现了两次,构造函数只出现了一次
得出:构造函数在一开始就被调用,析构函数出现两次的原因:因为person p的时候就被调用然后需要在销毁前析构 在**test (p)**的时候又被调用然后在销毁前进行析构
总结:
整体顺序 构造 -函数体内语句-析构-销毁
有如果是同一个对象但不同调用情况,构造一次,析构次数随着对象和调用次数走