当在类中定义一个成员函数时,该函数可以访问该类的成员变量和成员函数。但是,如果该类的成员变量和函数的名称与函数中的参数名称相同,那么编译器将无法区分它们。在这种情况下,我们可以使用关键字“this”来引用当前对象的指针。

例如,考虑以下类:

class Person {
    private:
        std::string name;
        int age;
    public:
        void setName(std::string name) {
            this->name = name;
        }
        void setAge(int age) {
            this->age = age;
        }
        void printInfo() {
            std::cout << "Name: " << this->name << ", Age: " << this->age << std::endl;
        }
};

在这个例子中,我们定义了一个“Person”类,它有一个“name”和一个“age”成员变量,以及三个成员函数:“setName”、“setAge”和“printInfo”。

在“setName”和“setAge”函数中,我们使用“this”关键字来引用当前对象的指针,并将传入的参数值分配给该对象的成员变量。

在“printInfo”函数中,我们也使用了“this”关键字来引用当前对象的指针,并打印出该对象的“name”和“age”值。

这样,我们就可以使用该类来创建一个对象,并使用“setName”和“setAge”函数来设置其属性,然后使用“printInfo”函数来打印出该对象的属性值:

Person person;
person.setName("Alice");
person.setAge(25);
person.printInfo();  // Output: Name: Alice, Age: 25
能举例帮我理解c++类中的this吗

原文地址: https://www.cveoy.top/t/topic/buRX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录