I have a huge list of these 'undefined reference to vtable' linker errors which I assume are all being caused by improper constructor/destructor definition, all referring to different classes called by the same cpp file.
I think the problem is in the virtual constructor on line 18
1) Does the G4VPhysicsConstructor have any pure virtual functions?
If so, you must overload those functions and provide an implementation for them. Not doing so can cause vtable errors.
2) Do you have other classes deriving from myPhysListHadron? The implication would be that you do, since you've declared ConstructParticle() as virtual. Do you have an implementation (even if a dummy) for ConstructParticle() in your myPhysListHadron class? Not doing so can cause vtable errors.
Looking at your original error message:
undefined reference to `vtable for G4LEKaonZeroInelastic'
and your code for that constructor in your OP:
3) Does G4LEKaonZeroInelastic have any pure virtual functions you haven't implemented? Not implementing a base class's pure virtual functions in your derived class will cause vtable errors.