#include using namespace std ; class B { public: B( ) { cout << "B constructor." << endl ; } B( const B& obj1 ) { cout << "B copy constructor." << endl ; } B( B&& obj1 ) { cout << "B move copy constructor." << endl ; } B& operator=(B&& other) noexcept { cout << "B Move assignment operator for class B." << endl ; return *this ; } }; class A { public: B objectb1 ; A( ) { cout << "A Empty constructor." << endl ; } A( const A& object1 ) { cout << "A Copy constructor." << endl ; } A& operator =( const A& object1 ) = delete ; ~A() { } }; int main() { A AObject1 ; cout << "---" << endl ; A AObject2 ; AObject2 = AObject1 ; cout << "---" << endl ; return 0 ; }