MST

星途 面试题库

面试题:C++中this指针在成员函数区分对象数据的基础应用

假设有一个类 `MyClass`,包含成员变量 `int data;` 和成员函数 `void setData(int value)`。请在 `setData` 函数中通过 `this` 指针为当前对象的 `data` 成员变量赋值,并说明 `this` 指针在此处是如何区分不同对象的数据的。
15.2万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

MyClass 类的 setData 函数中,可以这样使用 this 指针为 data 成员变量赋值:

class MyClass {
private:
    int data;
public:
    void setData(int value) {
        this->data = value;
    }
};

this 指针在此处的作用是指向当前调用成员函数的对象。当多个 MyClass 对象存在时,每个对象在调用 setData 函数时,this 指针会指向各自的对象实例。这样,通过 this 指针,就能准确地访问和修改当前对象的 data 成员变量,从而区分不同对象的数据。比如,如果有 MyClass obj1MyClass obj2,当 obj1.setData(10) 时,this 指针指向 obj1,修改的是 obj1data;当 obj2.setData(20) 时,this 指针指向 obj2,修改的是 obj2data