おしえてください。

class A {
func1()...
};
class B {
func1()...
};
class C : public A {
func1()...{
func();
}
};
この場合に、Cと実装が同じでBを継承したDを作りたい場合、
どのようにすればいいでしょうか?
class C : public Aと書いた時点でAを継承するのですが、
C自体の実装は全く同じで、Aの替わりにBを継承したDを
作りたいのですが。。。 class D : public C , public B
だとCはBを継承していないのでダメだと思うので。。。