ざっと見た感じできるのはここまでで
extern(C++) {
 interfance CPP { ... }
 CPP getCPP();
}
CPP cpp = getCPP();

こういうことはできないのか
extern(C++) { class CPP { ... } }
CPP cpp = new CPP;

ここまできたらなんとかして欲しいけど無理か?