C++(三十三) — 全局函数、成员函数的区别

 1、类成员函数的初始化:

(1)按照声明顺序初始化,而不是按出现在初始化列表中的顺序;

 

2、区别:

(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; }

 

posted @ 2019-01-15 12:23  深度机器学习  阅读(6965)  评论(0编辑  收藏  举报