this指针

在对象的外部访问该对象的公有成员时,必须指明是哪一个对象,然后去找这个对象对象的公有成员。

在使用对象的成员函数来访问本对象成员时,只有在成员函数中给出成员名,就可以对该对象的成员访问。

但是当我们用同一个类创建多个对象的时候,他们是共同使用同一份成员函数的,在这种情况下,成员函数怎么去辨认成员是属于哪一个对象的呢?

这时我们就引入了“this”指针。当调用类的某个非静态的成员函数时,系统就会自动产生一个隐藏的“this”指针,且这个指针始终都指向正在调用这个成员函数的对象。这样指针就作为一个参数自动传递给成员函数。



this指针是一个特殊的指针,他只在成员函数中使用。

例子:

 QCManager::QCManager(int noOfQC)

{

       this->QC = noOfQC;

       QC = noOfQC;

        (*this).QC = noOfQC;

}

上面的三句是等价的,只是写法不同。


举个形象的例子:我们把人当做是一个类,然后对象是你,我,他。我们会讲不同的话,那么怎么知道这句话是他讲的呢?就需要this指针来帮助我们。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值