I'm still learning the basics of OOP in C++, and a question has emerged when creating an operator method with a convert constructor.

Here's my code:

**Header file:**

```
class Integer {
private:
    int num;
public:
    Integer();
    Integer(int);//Convert constructor
    ~Integer();
    operator int();
    int getNum();
};

```

**Source file:**

```
Integer::operator int() {
   return this->num; //No idea why I need to specify this-> here.
}

```

**`main` method:**

```
Integer a(50); 
a = 100;       

int b = (int)a; 
cout << b << endl;

```

So my question is, why do I need to use `this->` on the `operator int()` method? I'm not passing any conflicting parameters so it shouldn't be a problem to the compiler. Also I tested it without, and it worked fine. But in my the textbook I'm following it explicitly says that I should add the `this->num`.

Any ideas?