Why on earth are you doing all this casting of your Short * object to Short * and baseFillChoose * all over the place? Do you not understand how inheritance works in C++? You created a Short * instance. Just use it without all the casting. It makes your code almost incomprehensible.
And the long strings of method().method().method().method()... calls are guaranteed to cause you a big headache if one of those calls in the middle returns something unexpected and the rest of the calls fall apart as a result. Look at how long it took you to find the problem in your original post.
Please, do not work on any defence-related projects until you get a better understanding of C++. The world will be a safer place.
Bookmarks