概念:this实际上是成员函数得一个形参,在调用成员函数时将对象的地址作为实参传递给this。this这个形参是隐式的,并不会出现在代码中,而是在编译阶段由编译器隐式地将其添加至参数列表中。
this使用的基本原则:若代码不存在二义性隐患,就不必使用this指针
class Human { public: void setName(char *name); void setAge(int age); void show(); private: char *name; int age; }; void Human::setName(char *name) { this->name = name; } void Human::setAge(int age) { this->age = age; } void Human::show() { cout << this->name << "的年龄是" << this->age << endl; } void main() { Human *zjm=new Human; zjm->setName("小明"); zjm->setAge(18); zjm->show(); system("pause"); return; }
this只能用在类的内部(因为this本质上是成员函数的局部变量),通过this可以访问类内的所有成员(包含private、protected)
成员函数的参数与成员变量重名时,要用this进行区分。
注意:this是一个指针,要用->来访问成员变量或成员函数