this指针基础(C++)

1.每个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,成为this指针。它是指向类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址。
通常情况下,this指针是隐式使用,作为参数被传递给成员函数的。
例如,Box类的一个成员函数:

//定义是这样的
int Box::volume()
{
	return(height*width*length);
}

实际上,是这样处理的:

int Box::volume(Box *this)//在成员函数的形参表列中增加this指针
{
	return(this->height*this->width*this->length);
}

这些都是编译系统自动完成的工作。
当调用成员函数a.volume()时,系统会将对象a的起始地址赋给this指针,
实际上是执行:

(this->height)*(this->width)*(this->length);

在成员函数引用数据成员时,this指向就指向对象a的数据成员。当前this指向a;相当于运行:

(a.heigth)*(a.width)*(a.length);

调用该成员变量,相当于:a.volume(&a);
隐式使用和显式使用

return(height*width*length);//隐式使用this指针
return(this->height*this->width*this->length);//显式使用this指针
return((*this).height*(*this).width*(*this).length);//显式使用this指针

调用对象a的成员函数f,实际上是在调用成员函数时使用this指针指向a,从而访问对象a的成员函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值