能举例帮我理解c++类中的this吗
当在类中定义一个成员函数时,该函数可以访问该类的成员变量和成员函数。但是,如果该类的成员变量和函数的名称与函数中的参数名称相同,那么编译器将无法区分它们。在这种情况下,我们可以使用关键字“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
原文地址: https://www.cveoy.top/t/topic/buRX 著作权归作者所有。请勿转载和采集!