this指针:
在每个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this;
它是指向本类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址;
例如:当调用成员函数a.volume时,编译系统就把对象a的起始地址赋给this指针,于是成员函数引用成员数据时,就要按照this的指向找到对象a的数据成员;
例如:volume函数要计算heightwidthlength的值;
实际上是执行(this->height)(this->width)(this->length);
由于当前this指向a,因此相当于执行:(a.height)(a.width)(a.length);
这就计算出长方体a的体积;
上面三种代码都是等价的
- b.volume( ) ,编译系统就把对象b的起始地址赋给成员函数volume的this指针,显然计算出来的是长方体b的体积;
this是隐式使用的: