这个程序的最后结果是怎么运行出来的呢
函数参数为类的对象时main函数的第四局是怎么个运行情况呢
为什么最后的结果会调用六次参数 为什么相加结果会是4?

我是这么理解的,可以gdb跟踪一下:
- 18,19,20行 打印3个构造函数
- 21行打印3个构造函数,具体是 a1 = a2.add(a3)
第4个构造函数: a3作为参数传递
第5个构造函数: add函数里面 temp的声明
第6个构造函数: 赋值给a1的时候,系统会临时产生一个中间对象,如果是地址传递就不会有 - a2和a3里面的成员值都是2,所以结果是4