天天看點

C++學習014函數值傳遞和位址傳遞

差別就是一個本身不被改變,而另一本身也在改變,

在開發時候都會用到,

這裡做下記錄

#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="" />
 
       

繼續閱讀