When you write a class function, why is it bad form to make it anything other than a prototype within the class? In other words, why is it usually good form to define the function outside of the class definition?
The way I understood it, classes were supposed to be portable lines of programming that somewhat resembling real-life objects, actions, and so on (or fantasitical stuff, but symbolic as opposed to procedural). If this is so, then would it not be a waste of time to write a class full of defaultly useless variables and functions, then in the less portable areas of the program, finally write the data that makes the class useful?
When I program, I don't need somebody else helping me name my own variables and functions. But what I would possibly need from somebody else would be code that actually does stuff. Function libraries, for example.
I understand that even if a class variable or function is defined elsewhere in the program, it will be completely hand-in-hand with that class, and the classes created on one particular program might help speed up the programming process in that specific case. But when they are ported to another program, as I understand they oftentimes are, why not put the variable and function definitions inside the class to actually make it useful?