静态成员函数调用方式 
A:: s_fun();//不需要额外传递一个参数,作为this 指针;因为静态函数,属于类,不属于具体对象。
非静态成员函数调用方式 。

非静态成员函数,属于对象,需要隐式传递 this 指针作为参数。A a;
A &ref=a;
A *ptr = &a;
int main(){
a.fun();   // 1)对象; 传递&a, 即a 的地址作为 fun的 this 指针;
ref.fun();  // 2)引用;传递&ref,也即&a  即a 的地址作为 fun的 this 指针;
ptr->fun();  // 3)指针; 传递 ptr ,也即&a  即a 的地址作为 fun的 this 指针;
return 0;
}静态成员函数,可以调用非静态成员函数,反之非静态成员函数也可以调用静态成员函数;

在静态成员函数,内部调用非静态成员函数,需要一个额外的对象,这个对象可以是任何可见的,可以访问的全局变量,静态变量(对象,引用,指针对应的对象)
也可以是静态成员函数的参数(通过对象,引用,指针),以及静态函数内部定义的局部变量。

非静态成员函数,可以直接调用静态成员函数。
非静态函数,可以隐式的通过this指针,调用除了构造析构构函数之外的,任何非静态成员函数。
也可以显示的通过this指针,调用除了构造析构构函数之外的,任何非静态成员函数。
可以调用构造函数,构造本类的其他对象。
也可以自动调用析构函数,析构本类的其他对象。
有时候甚至可以显式调用析构函数,析构某些对象。
例如:a::fun_ather(){}
a:: fun(){
 fun_ather();           //隐式的通过this指针,调用其他非静态成员函数,这是下面式子的省略写法。
 this-> fun_ather();//显示的通过this指针,调用其他非静态成员函数。
}
this 指针,是对象调用函数的时候,隐式传递的。因为形参表,以及实参表里面都没有直接使用this 这个参数;
所以他是隐式的自动传递的;

方式很简单,就是  a.fun(),r.fun(), ptr->fun() ,这种写法的前面那个数据中,对象的地址传递给 this。
编译器安排某种方法,传递这个参数;

例如:VC6~VC10,32Bits 采用ecx 寄存器传递this 指针。

PS:
估计,要么是你只看到书中内容的一个片段;
要么是编者,并不是很理解C++静态成员函数,非静态成员函数;静态成员函数,可以非静态成员函数;反之亦然;
只是调用方式有所不同。
1)类外函数调用成员函数
1.1)其他函数调用成员函数,调用静态成员函数,需要通过类名调用;A:: s_fun();
1.2)其他函数调用成员函数,调用非静态成员函数,通过对象调用; a.fun();r.fun();ptr->fun() ;

2)成员函数的互相调用:

2.1静态成员函数调用静态成员函数,直接用函数名 s_fun();
2.2) 非静态成员函数调用静态成员函数,直接用函数名 s_fun();
2.3非静态成员函数调用非静态成员函数,也可以直接用函数名,fun() ;这是通过this指针来调用的。
2.4)静态调用非静态,由于调用静态函数的代码,没有传递对象相关参数this指针,需要通过其他可以访问的对象来调用。
        a.fun();r.fun();ptr->fun() ;作为以上所有总结,可以看下面的例子
  class A
{
       int x;
       static A a;
      public:
      void fun(){};
      void fun_other(){};
       static void s_fun(); 
       static void s_fun(A & ref);
       
  };
     A A::a;
     A a0;  
     void A::s_fun()
    { 
        a.fun(); 
        a0.fun(); 
        s_fun(a);
        s_fun(a0);   
    }; 
      void A::s_fun(A & ref)
    { 
        ref.fun();
        a.fun();
        a0.fun();     
    }
    int main()
    {
         A:;s_fun();
        return 0; 
     }