//Typendeklaration
class Car;

//Typendefinition
struct Service
{ 
  int Get(const Car&) const;
};
class Car
{ 
  friend int Service::Get(const Car&) const; 
  int Distance;  
}; 

//Funktionsdefinition
int Service::Get(const Car& C) const
{
  return C.Distance;
}

//Hauptfunktion
int main()
{
  Car MyCar;
  Service MyService;
  int MyDistance =  MyService.Get(MyCar);
}