让我们考虑普通的钻石问题,但略有改进。现在 class A
有常量字段。
struct A {
const int a;
A (int _a): a(_a) {}
};
struct B: virtual A {
const int b;
B(int _b, int _a): A(_a), b(_b) {}
};
struct C: virtual A {
const int c;
C(int _c, int _a): A(_a), c(_c) {}
};
struct D: B, C {
D(int _a, int _b, int _c): ??? {}
};
那么,用什么来代替问号是明智的呢?或者也许它可以用不同的方式解决?