I don't know why you impart some magical quality on the syntax a->b() such that this causes b() to be a "part of" a. b() being part of a is something conceived in the programmer's mind, not an artifact of the way it's written.
I don't think of it that way, at least. To me, OOP means polymorphism.That is how most people differentiate OO from procedural programming. The object has the functionality, versus the function takes objects. I don't know. To be honest, I never got the whole appeal of OOP. It just seems to me like it's an attempt to make sure people don't pass stupid things to functions.