Today, most experts think it is actually better to prefer non-member functions when ever possible. See this article for more information.However I also recall reading, most likely Scott Meyers, that all functions should be member functions as far as possible
Also it usually recommended to keep the User Interface as separate as possible so you can change the UI without affecting the program logic.
Jim