C++学习014函数值传递和地址传递
        【摘要】 
                    当我们给一个函数传参数的时候,可以直接值传入函数,也给可以把一个地址传入函数 
  
区别就是一个本身不被改变,而另一本身也在改变, 
  
在开发时候都会用到, 
  
这里做下记录 
  
  
#include <iostream> using namespace st...
    
    
    
    当我们给一个函数传参数的时候,可以直接值传入函数,也给可以把一个地址传入函数
区别就是一个本身不被改变,而另一本身也在改变,
在开发时候都会用到,
这里做下记录
  
   - 
    
     
    
    
     
      #include <iostream>
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      using namespace std;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      class Test
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
         public:
     
    
- 
    
     
    
    
             Test(int a)
     
    
- 
    
     
    
    
     
              {
     
    
- 
    
     
    
    
     
                  num = a;
     
    
- 
    
     
    
    
     
              }
     
    
- 
    
     
    
    
             void setnum(int a)
     
    
- 
    
     
    
    
     
              {
     
    
- 
    
     
    
    
     
                  num =a;
     
    
- 
    
     
    
    
     
              }
     
    
- 
    
     
    
    
             int getnum()
     
    
- 
    
     
    
    
     
              {
     
    
- 
    
     
    
    
                 return num;
     
    
- 
    
     
    
    
     
              }
     
    
- 
    
     
    
    
         private:
     
    
- 
    
     
    
    
             int num;
     
    
- 
    
     
    
    
     
      };
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      void add(Test t)
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     
          t.setnum(t.getnum()+t.getnum());
     
    
- 
    
     
    
    
     
          cout<<"\nf num value add:";
     
    
- 
    
     
    
    
     
          cout<<t.getnum()<<endl;
     
    
- 
    
     
    
    
     
      }
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      void add1(Test *t)
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     
          t->setnum(t->getnum()+t->getnum());
     
    
- 
    
     
    
    
     
          cout<<"\nf num value add:";
     
    
- 
    
     
    
    
     
          cout<<t->getnum()<<endl;
     
    
- 
    
     
    
    
     
      }
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      int main()
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     
          cout << "Hello world!" << endl;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
         Test tt(100);
     
    
- 
    
     
    
    
         add(tt);
     
    
- 
    
     
    
    
     
          cout<<"object tt not chaange is main:";
     
    
- 
    
     
    
    
     
          cout<<tt.getnum()<<endl;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
         Test tt1(100);
     
    
- 
    
     
    
    
         add1(&tt1);
     
    
- 
    
     
    
    
     
          cout<<"object tt not chaange is main:";
     
    
- 
    
     
    
    
     
          cout<<tt1.getnum()<<endl;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
         return 0;
     
    
- 
    
     
    
    
     
      }
     
    
- 
    
     
    
    
     
      <img src="https://img-blog.csdn.net/20160815152346411?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
 
文章来源: dreamlife.blog.csdn.net,作者:DreamLife.,版权归原作者所有,如需转载,请联系作者。
原文链接:dreamlife.blog.csdn.net/article/details/52211533
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
            
 
           
评论(0)