While reading a tutorial about virtual functions(not relavant for this example) on this link, I found this code.
class Weapon
{
public:
void features()
{ cout << "Loading weapon features.\n"; }
};
class Bomb : public Weapon
{
public:
void features()
{
this->Weapon::features();
cout << "Loading bomb features.\n";
}
};
The class Weapon is derived by the class Bomb, where the member function of Weapon is called.
Why is the function Weapon::features() called with the "this" pointer? Isn't this already implicit given?