C++ this指针

this指针:用来指向当前对象。每个非静态成员函数都隐藏有一个this指针的函数参数。当一个对象调用成员函数时,编译器要把当前对象的地址传递给this指针。

void Time::showTime()
{
	cout << hour << ':' << minute << ':'<<second << endl;
}
等同于

void Time::showTime(Time* const this)
{
	cout << hour << ':' << minute << ':'<<second << endl;
}

调用时:EndTime.showTime();

编译器会把当前对象的地址赋值给this指针:

EndTtime.showTime(&EndTime);


this是常指针,也就是指针的值是不可以改变的,始终指向当前对象所在的内存。但是这片内存的值可能是可以改变的,也就是可以修改this指针所指对象的数据成员。当成员方法是const函数,则不可以。


此外,*this标识当前对象,当函数需要返回对象本身的时候,可以用return *this;

this指针还用于运算符重载。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值