C++学习014函数值传递和地址传递

举报
DreamLife 发表于 2022/04/15 00:35:53 2022/04/15
1k+ 0 0
【摘要】 当我们给一个函数传参数的时候,可以直接值传入函数,也给可以把一个地址传入函数   区别就是一个本身不被改变,而另一本身也在改变,   在开发时候都会用到,   这里做下记录     #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

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。