有关c++构造函数的问题,麻烦大家看下

根据以下代码,类C的构造函数书写正确的是( )
class A {A(int)...};
class B:public A {B(int )...};
class C:public B
{A a;B b;
};
A、
C(int i, int j, int k)
{ a(i);b(j);
}
B、
C(int i, int j, int k): A(i),B(j)
{a(i);b(k);
}

C、
C(int i): A(i),B(i),a(i),b(i)
{
}

D、
C(int i): B(i),a(i),b(i)
{
}
请问答案为什么是D?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^