2070 / C++ / Класи / C++

 

Коли ми викликаємо метод об'єкту, як ми знаємо який об'єкт його викликав?
Для цього С++ використовує прихований вказівник *this

class A
{
  private:
    int x;

  public:
    void enterData(int x)
    {
      this -> x = x; // допомагає відрізнити змінну класу від змінної яку отримав метод
    }
    void showData()
    {
      cout << "x = " << x << endl;
    }
};

A a1, a2;
a1.enterData(3);
a2.enterData(5);
a1.showData();
a2.showData();

x = 3
x = 5