c++ 中在形参与实参之间的值传递
主要是对比直接传递与引用类型、指针类型之间的区别。
1 #include <iostream> 2 using namespace std; 3 4 class MyClass 5 { 6 public: 7 int a; 8 void method(); 9 }; 10 void MyClass::method() 11 { 12 cout<<"the last value of class:a after fun:"<<a<<‘\n‘; 13 } 14 15 void fun1(MyClass); 16 void fun2(MyClass*); 17 void fun3(MyClass&); 18 int main() 19 { 20 MyClass myclass; 21 myclass.a=10; 22 fun1(myclass); 23 cout<<" the initial value of class:a after fun1: "<<myclass.a<<‘\n‘; 24 myclass.a=10; 25 fun2(&myclass); 26 cout<<" the initial value of class:a after fun2: "<<myclass.a<<‘\n‘; 27 myclass.a=10; 28 fun3(myclass); 29 cout<<" the initial value of class:a after fun3: "<<myclass.a<<‘\n‘; 30 system("pause"); 31 } 32 void fun1(MyClass mc) 33 { 34 mc.a=40; 35 mc.method(); 36 } 37 void fun2(MyClass* mc) 38 { 39 mc->a=60; 40 mc->method(); 41 } 42 void fun3(MyClass&mc) 43 { 44 mc.a=80; 45 mc.method(); 46 }
参照:http://www.cnblogs.com/wackelbh/archive/2009/12/29/1984064.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。