Quote:
when i do this (i.e. include the declaration file header into both main and the implementation file), i get a linker error:
[Linker error] undefined reference to `Soldier::Soldier()'
I already addressed this one. Assuming this is the only error you get; it means you didn't define your constructor, you just declared it.