The function extension in C++ definition file (CPP)
===

In C++ definition file (.cpp), sometimes I can define small functions to be invoked, for example:

    // Class declaration 
    // Myclass.h
    Class Myclass
    {
    ...
      void Classfunction();
    ...
    }
    // Class defination 
    // Myclass.cpp
    #include "Myclass.h"
    ...
    void helper_fun()
    {
     ...
    }
    ...
    void Myclass::Classfunction()
    {
    ...
      helper_fun();
    ...
    }

In the above example, we can see void helper_fun() is declared and defined in the .cpp file. The purpose of this function is to be invoked by the functions that have been defined in the class. Of course, the helper_fun can be declared in the head file first and then defined in the implementation file.  My question is whether this is a good practice for C++ code writing. Moreover, does this practice have some bad effects? Thanks!