34. voidg_Fun(CExampleC)
35. {
36. cout<<"test"<<endl;
37. }
38.
39. intmain()
40. {
41. CExampletest(1);
42. //传入对象@@
43. g_Fun(test);
44.
45. return0;
46. }
调用 g_Fun()时,会产生以下几个重要步骤:
(1).test 对象传入形参时,会先会产生一个临时变量,就叫@C 吧。
(2).然后调用拷贝构造函数把 test 的值给 C。@整个这两个步骤有点像:CExample C(test);
(3).等 g_Fun()执行完后, 析构掉@C 对象。
2. 对象以值传递的方式从函数返回
[c-sharp]view plain copy
1. classCExample
2. {
3. private:
4. inta;
5.
6. public:
7. //构造函数@@
8. CExample(intb)
9. {