13.0 C++远征:this指针

本文详细介绍了C++中this指针的使用方式,特别是如何通过*this返回当前对象来实现成员函数的链式调用。文章通过具体示例展示了如何定义返回值类型为对象引用的方法,并在主函数中进行链式调用,从而简化代码并提高可读性。

4-6this指针

Array printInfo();——要求返回值类型是一个对象

Array Array::printInfo(){
    return *this;   //返回出去之后的*this指针是一个临时的对象,并不是arr对象
}
Array& Array::printInfo(){
    return *this;   //这样返回出去的就是arr1了。  在类中也要这样定义,加入引用之后,一切都清晰起来了
}
使用点号可以将多个方法穿起来使用
声明和定义函数用的是&,即为引用,返回值要加*,即为return *this; 调用函数是用点号.
声明和定义函数用的是*,即为指针,返回值不用加* ,即为return this;调用函数是用->

1.可用this指针做返回
2.*this对象做返回与引用Array &配合
都可对原对象做操作
class Array
{
public:
    Array(int len);
    ~Array();
    Array* setLen(int len);//注意
    int getLen();
    Array& printInfo();//注意
private:
    int len;
};
Array* Array::setLen(int len)
{
    this->len = len;
    return this;
}
Array&  Array::printInfo()
{
    cout<<"len = "<<len<<endl;
    return *this;
}
int main(void)
{
    Array arr1(10);
    arr1.printInfo().setLen(5)->printInfo();//这里都是针对arr1的操作
    system("pause");
    return 0;
}

转载于:https://www.cnblogs.com/xiaoqingyang/p/6076913.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值