test.cpp:(.text+0xb3): undefined reference to `A::~A()' test.cpp:(.text+0x127): undefined reference to `A::~A()' test.cpp:(.text+0x15a): undefined reference to `A::~A()' test.cpp:(.text$_ZN1BD1Ev[B::~B()]+0x16): undefined reference to `parent::operators::~operators()' test.cpp:(.text$_ZN1AC1Ev[A::A()]+0x5a): undefined reference to `vtable for A' test.cpp:(.text$_ZN1AC1Ev[A::A()]+0x66): undefined reference to `vtable for A' test.cpp:(.text$_ZN1AC1Ev[A::A()]+0x89): undefined reference to `parent::~parent()' test.cpp:(.text$_ZN6parentC2Ev[parent::parent()]+0x8): undefined reference to `vtable for parent' test.cpp:(.rdata$_ZTVN6parent9operatorsI1AEE[vtable for parent::operators]+0x8): undefined reference to `parent::operators::~operators()' test.cpp:(.rdata$_ZTVN6parent9operatorsI1AEE[vtable for parent::operators]+0xc): undefined reference to `parent::operators::~operators()' test.cpp:(.text$_ZN1BD0Ev[B::~B()]+0x16): undefined reference to `parent::operators::~operators()' collect2: ld returned 1 exit status