Assuming i have this code:
class A { public: int x; A(){} A(const A& a){} //copy constructor operator= (const A &a){...} }; class B { public: A a; B(){} }; int main() { B b; B c = b; //shallow copy B d; d = b; //shallow assignment } Will the shallow copy\assignment call member A a's copy constructor\assignment operator overloading? Or shortly does shallow copy perform member objects' user-made copy constructor & assignment operator or a shallow one as well?