title: Is it a good practice to place C++ definitions in header files?
body: <p>My personal style with C++ has always to put class declarations in an include file, and definitions in a <code>.cpp</code> file, very much like stipulated in <a href="https://stackoverflow.com/a/280048">Loki's answer to <em>C++ Header Files, Code Separation</em></a>. Admittedly, part of the reason I like this style probably has to do with all the years I spent coding Modula-2 and Ada, both of which have a similar scheme with specification files and body files.</p>
  <p>I have a coworker, much more knowledgeable in C++ than I, who is insisting that all C++ declarations should, where possible, include the definitions right there in the header file. He's not saying this is a valid alternate style, or even a slightly better style, but rather this is the new universally-accepted style that everyone is now using for C++.</p>
  <p>I'm not as limber as I used to be, so I'm not really anxious to scrabble up onto this bandwagon of his until I see a few more people up there with him. So how common is this idiom really?</p>
  <p>Just to give some structure to the answers: Is it now <em>The Way™</em>, very common, somewhat common, uncommon, or bug-out crazy?</p>