类的对象作为参数进行值传递时将会调用构造函数
看下列代码
#include <iostream>
using namespace std;
class A
{
public:
A() {cout << "general construct A" << endl;}
A(A& a) {cout << "copy construct A" << endl;}
~A() {cout << "destruct A" << endl;}
};
void func(A a)
{
cout << "func call" << endl;
}
int main()
{
A a;
cout << "----------" << endl;
func(a);
cout << "---------" << endl;
return 0;
}
输出结果
general construct A
----------
copy construct A
func call
destruct A
---------