Now if you have
O object;
object->whatever()
first, the overloaded one will be called operator->, which will return what sesis stored inside the object, and then operator->(built-in in the case S*) will be called again for the returned pointer.
So,
object->whatever();
equivalent to pseudo code:
object.ses->whatever();
, O::ses - private - .
- .