title: "Multiple definition of.." "First defined here" in the same line in a data structure
body: <p>I have read many posts before posting this one, I couldnt find a solution because non of them (those I read) were on data structures.</p>
  
  <p>I have two data structures (If it matter, a Heap and a UF). <br>
  Both of them are implemented in the .h file.
  I'm getting the "Multiple definition of.." "First defined here" errors only on member functions implemented outside of the class (such as <code>int UnionFind::Find(int i)</code> ) <br>
  It happens for the c'tors and d'tors also, but when I implement them in the class itself, it disappear.
  I really have no clue why it is happening. <br>
  I have followed the includes in all of my files and there are no double includes or loops. <br></p>
  
  <p>I'm also using an AVL tree, and it does not happen there, everything there is implemented in the .h file outside of the class.</p>
  
  <p>These are the errors im getting : </p>
  
  <pre><code>/tmp/ccp8fP73.o: In function `UnionFind::Find(int)':
  main.cpp:(.text+0x0): multiple definition of `UnionFind::Find(int)'
  /tmp/ccVxSiPy.o:Elections.cpp:(.text+0x0): first defined here
  /tmp/ccp8fP73.o: In function `UnionFind::Union(int, int)':
  main.cpp:(.text+0x108): multiple definition of `UnionFind::Union(int, int)'
  /tmp/ccVxSiPy.o:Elections.cpp:(.text+0x108): first defined here
  </code></pre>
  
  <p>If you need more info, please tell me.
  Thank you</p>