For non-static member functions, the type of the implicit object
is the class of which the function is a member and
is the cv-qualification on the
member function declaration.
function of class
the extra parameter is assumed to have type
— end example
For conversion functions, the function is considered to be a member of the
class of the implied object argument for the purpose of defining the
type of the implicit object parameter.
For non-conversion functions
introduced by a
into a derived class, the function is
considered to be a member of the derived class for the purpose of defining
the type of the implicit object parameter.
For static member functions, the implicit object parameter is considered
to match any object (since if the function is selected, the object is
No actual type is established for the implicit object parameter
of a static member function, and no attempt will be made to determine a
conversion sequence for that parameter ([over.match.best]
— end note