Ok so here's what you have: A a(42); B b(23.0); a is now of type A, and b is now of type B. Right?
The constructor for class C takes in two arguments. The first one _has_ to be of type A and the second one _has_ to be of type B. This is how you defined it. This is why C(a,b) works fine. But C(b,a) shouldn't work because of how you defined the constructor for C. You could add a second constructor to C as follows: C(B &_propB, A &_propA) { propA = &_propA; propB = &_propB; } which would let you call C(b,a). -- http://mail.python.org/mailman/listinfo/python-list