C++ 类this及返回自身对象的引用看这一篇就明白

C++ 类this及返回自身对象的引用看这一篇就明白

  • this及返回自身对象的引用

this及返回自身对象的引用

this:调用成员函数的时候,编译器负责把对象地址传(&myTime)递给成员函数中隐藏的this形参。
在系统角度来看,任何对类成员的直接访问都是被this隐式调用的。

  1. this有个const修饰符,只能用来指向已确定的那个对象,不能更改。
  2. this只能在成员函数中使用,全局函数静态函数不能使用this。
  3. 在成员普通函数中,this是一个指向非const对象的const指针。(this 等价于 Time *const this,const修饰this,this不能指向其他对象,但this指向的对象中的成变量可以被修改。)
  4. 在const成员函数中,this指针是一个指向const对象的const指针(this 等价于 const Time * const this)。
class Time {
public:
	int hour;
	int minute;
public:
	//把对象自己返回去了
	Time& add_hour(int temp_hour);
	Time& add_minute(int minute);
};
//实际工作中,this能省则省。
Time& Time::add_hour(int temphour)  {
	this->hour += temphour;//等价于 hour += temphour;
	return *this;//把对象自己返回去了,固定写法。指向本对象的指针。*this表示对象本身。
}
Time& Time::add_minute(int minute) {
	this->minute += minute;//区分成员变量和形参
    return *this;
}
	Time myTime;
	myTime.add_hour(3);
	myTime.add_hour(3).add_minute(10);//返回自己,可以连续调用。

你可能感兴趣的:(c++,c++)