this指针:
当我们在进入一个房子之后,可以看见房子里的桌子,椅子、地板等,但是看不到房子的全貌。对于一个类的实例来说,你可以看到它的成员函数、成员变量,但是实例本身呢?this是一个指针,它时时刻刻指向这个实例。
1.this指针的特性
①this指针的类型 类类型* const;
②this指针并不是对象本身的一部分,不影响sizeof的结果;
③this的作用域在类成员函数的内部;
④this指针是类成员函数的第一个默认隐含参数,编译器自动维护传递,类编写者不能显式传递。
2.this指针的使用
①在类的非静态成员函数中返回类对象本身的时候,直接使用 return *this;
②当参数与成员变量名相同时,如this->n = n (不能写成n = n)。
3.this指针程序示例
注:void InitDate()函数原型实际是:void InitDate(Date* const this, int year, int month, int day),但因第一个参数是指向该类对象的一个指针,即this指针,它是默认隐含参数,所以写成void InitDate(int year, int month, int day)。