コンストラクタ・デストラクタと純粋仮想関数について混乱気味なので質問
以下のImplクラスのコンストラクタ・デストラクタ呼び出し結果は未定義ってこと?

struct Abst {
virtual ~Abst() {}
virtual void MemberInit() = 0;
virtual void MemberTerm() = 0;
};

struct Impl : Abst {
Impl() { this->MemberInit(); }
~Impl() { this->MemberTerm(); }
void MemberInit() {}
void MemberTerm() {}
};