概念: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是一个指针,要用->来访问成员变量或成员函数