Not when dealing with templates.
Quite true. Just like member functions of non-template classes defined outside the class must be properly parameterized.
Usually a single compilation unit is one file. However you can use multiple files by including the implementation in the include file (after the class definition).
You may find this link informative
Templates C++ Documentation, be sure you scroll down to the bottom of this page and read the section titled: "Templates and multiple-file projects".