As to the 0 in the beginning of VFT, it must be the offset to top as described in http://mentorembedded.github.io/cxx-abi/abi.html#vtable-components . The value is used when a class is derived from several base classes.
This 0 is vmt[-2] when you obtain the vmt address at run-time, but in the IDA disassembly it is the very first element of vtable.
; DerivedStuff::DerivedStuff(int, int) EXPORT _ZN12DerivedStuffC2Eii _ZN12DerivedStuffC2Eii PUSH {R4,LR} MOV R4, R0 BL _ZN9BaseStuffC2Eii ; BaseStuff::BaseStuff(int,int) LDR R3, =(_ZTV12DerivedStuff_ptr - 0x1AF4) MOV R0, R4 ADD R3, PC ; _ZTV12DerivedStuff_ptr LDR R3, [R3] ; `vtable for'DerivedStuff ADDS R3, #8 ; <===== this is where 8 is added to the vmt address!!! STR R3, [R4] POP {R4,PC} ; End of function DerivedStuff::DerivedStuff(int,int)