#include <iostream>
using namespace std;
class B {
protected:
int x;
public:
B() {
x = 78;
}
};
class D1 : virtual public B {
public:
D1() {
x = 15;
}
};
class D2 : virtual public B {
public:
D2() {
x = 37;
}
};
class C : public D2, public D1 {
public:
int get_x() {
return x;
}
};
int main()
{
C ob;
cout << ob.get_x();
return 0;
}
при создании объекта C значение x равно 15 вместо 78. Мне было интересно, потому что последний вызванный конструктор (который изменил значение x) был конструктором D1?