类的对象作为函数参数而出现的问题
将类的对象作为函数参数,测试时出现了奇怪的结果。#include "iostream.h"
class test
{
public:
test(){cout<<"test construction"<<endl;}
~test(){cout<<"test destruction"<<endl;}
}
class A
{
public:
A(test s){cout<<"A construction"<<endl;}
~A(){cout<<"A destruction"<<endl;}
}
void main()
{
test a;
A(a);
return 0;
}
结果: test construction
A construction
test destruction //注意此行,多调用一次test析构函数
A destruction
test destrcution
这是怎么回事?难道析构函数和构造函数还不是配对出现的?哪位兄弟知道,谢谢了