Bazı argümanlar alan bir yapıcı var. Listelenen sırayla inşa edildiğini varsaymıştım, ancak bir durumda, bir kürtajla sonuçlanan tersine inşa edildikleri görülüyor. Argümanları ters çevirdiğimde program iptal etmeyi bıraktı. Bu, kullandığım sözdiziminin bir örneğidir. Mesele şu ki, a_ bu durumda b_'den önce başlatılmalıdır. İnşaat siparişini garanti edebilir misiniz?
Örneğin
class A
{
public:
A(OtherClass o, string x, int y) :
a_(o), b_(a_, x, y) { }
OtherClass a_;
AnotherClass b_;
};