It’s a good practice to divide the program into several functions such 
  that parts of the program don’t get repeated a lot and to make the code 
  easily understandable.
We all know that calling and returning from a function generates some overhead. 
  The overhead is sometimes to such an extent that it makes significant effect 
  on the overall speed of certain complex and function-oriented programs. In most 
  cases, we have only a few functions that have extensive use and make significant 
  impact on the performance of the whole program. 
Not using functions is not an option, using function-like macros is an option, 
  but there is a better solution, to use Inline Functions.
Yes, like it sounds, inline functions are expanded at the place of calling 
  rather than being “really called” thus reducing the overhead. It 
  means wherever we call an inline function, compiler will expand the code there 
  and no actual calling will be done.
Member functions of classes are generally made inline as in many cases these 
  functions are short but any other function can be inline too. Functions are 
  made inline by preceding its definition with the keyword “inline” 
  as shown in the example below:
  // precede the definition
  // of function with "inline"
  // its optional to do so for
  // the prototype
  inline ret-type func-name(arg-list...)
  {
    ...
    ...
    ...
  }
Member functions (class) can be made inline as below:
  class myclass
  {
  private:
    ...
    ...
  public:
    ret-type func-name(arg-list...);
    ...
    ...
  };
  inline ret-type myclass::func-name(arg-list...)
  {
    ...
    ...
  }
  Or simply as
  class myclass
  {
  private:
    ...
    ...
  public:
    inline ret-type myclass::func-name(arg-list...)
    {
      ...
      ...
    }
    ...
    ...
  };
Short member functions are usually made inline as above.
Please mote one thing though, inline is a request to the compiler and not a 
  command which means it depends on the compiler and the conditions whether a 
  particular function will be really made “inline” or not.
As inlining increases duplication of parts of code, performance will be gained 
  at the expense of program size, which is pretty obvious. As I’ve said 
  not all functions make major impact on the overall performance of the program. 
  So we should carefully select which functions to inline and which not to, because 
  if we inline many functions we can’t be sure of whether it’d do 
  any better to the performance, but it’s for sure that program size will 
  increase unnecessarily.
Related Articles:
-  
Increase
your Programming Skills III
 -  
Increase
your Programming Skills II
 -  
Increase
your Programming Skills I