1. 程式人生 > >C++(三十三) — 全局函數、成員函數的區別

C++(三十三) — 全局函數、成員函數的區別

返回值 參數 pri () font 復制 ++ private 區別

區別:

(1)全局函數的參數個數,比局部函數要多一個;

(2)二者都可,返回元素、返回引用。

class test 
{
public:
    test(int a, int b)
    {
        this->a = a;
        this->b = b;
    }
    test()
    {
    }
// 成員函數返回一個元素 test testAdd(test
&t2) { test temp(this->a + t2.a, this->b + t2.b); return temp; }
// 成員函數,返回一個引用,相當於返回自身 // this = > &t1,所以返回值 *this 相當於返回一個元素 test& testAdd2(test &t2) { this->a += t2.a; this->b += t2.b; return *this; } void print() { cout << "a: " << a << " b: " << b << endl; }
private: int a; int b; }; test testAdd(test &t1, test &t2) { test t3; return t3; } void main() { test t1(1, 2); test t2(3, 4); test t3, t4; // 全局函數的方法 t3 = testAdd(t1, t2); // 成員變量的方法 t4 = t1.testAdd(t2); // 匿名對象 復制給 t4 test t5 = t1.testAdd(t2);//
匿名對象,直接轉換為 t5 t4.print(); t5.print(); system("pause"); return; }

C++(三十三) — 全局函數、成員函數的區別