来自http://www.runoob.com/cplusplus/cpp-this-pointer.htmlhttp://www.imooc.com/learn/405

在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。

#include <iostream>
using namespace std;
class Array{
public:
    Array(int len){
        this->len = len;
    }
    Array& setLen(int len){
        this->len = len;
        return *this; //返回对这个对象的引用
    };
    Array& printInfo(){
        cout<<“len = ”<<this->len<<endl;
        return this;  //返回对这个对象的引用
    }
private:
    int len;
};
int main()
{
    Array a(10);
    a.printInfo().setLen(5).printInfo(); //执行完函数后返回这个对象的引用,然后继续调用这个对象的函数
    return 0;
}
输出为
len = 10
len = 5
如果改成返回指针
#include <iostream>
using namespace std;
class Array{
public:
    Array(int len){
        this->len = len;
    }
    Array setLen(int len){
        this->len = len;
        return this; //返回对这个对象的指针
    };
    Array* printInfo(){
        cout<<“len = “<<this->len<<endl;
        return this;  //返回对这个对象的指针
    }
private:
    int len;
};
int main()
{
    Array a(10);
    a.printInfo()->setLen(5)->printInfo(); //就可以这样子调用了
    return 0;
}
len = 10
len = 5