inline void somefunc(B* pB)
{
 pB->method();
}

foo() {
 D d;
 somefunc(&d);
}

これはどうだろう。