#include <iostream>
#include <vector>
using namespace std;
struct Your_Object
{
Your_Object& operator=(const Your_Object& other)
{
// Write a proper assignment operator here
cout << "hello from assignment operator"<<endl;
return *this;
}
};
int main() {
Your_Object nullObj;
std::vector<Your_Object> vec;
vec.reserve(10); // Creates 10 empty objects calling default constructors
Your_Object space5, space3; // Two objects to put in space5 and space3
// Put objects in space 5 and 3
vec[5] = space5;
vec[3] = space3;
// Move object in space 5 to another place
vec[1] = vec[5];
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IFlvdXJfT2JqZWN0CnsKCVlvdXJfT2JqZWN0JiBvcGVyYXRvcj0oY29uc3QgWW91cl9PYmplY3QmIG90aGVyKQoJewoJCS8vIFdyaXRlIGEgcHJvcGVyIGFzc2lnbm1lbnQgb3BlcmF0b3IgaGVyZQoJCWNvdXQgPDwgImhlbGxvIGZyb20gYXNzaWdubWVudCBvcGVyYXRvciI8PGVuZGw7CgkJcmV0dXJuICp0aGlzOwoJfQp9OwoKaW50IG1haW4oKSB7CgkKCVlvdXJfT2JqZWN0IG51bGxPYmo7CglzdGQ6OnZlY3RvcjxZb3VyX09iamVjdD4gdmVjOwoJdmVjLnJlc2VydmUoMTApOyAvLyBDcmVhdGVzIDEwIGVtcHR5IG9iamVjdHMgY2FsbGluZyBkZWZhdWx0IGNvbnN0cnVjdG9ycwoJCglZb3VyX09iamVjdCBzcGFjZTUsIHNwYWNlMzsgLy8gVHdvIG9iamVjdHMgdG8gcHV0IGluIHNwYWNlNSBhbmQgc3BhY2UzCgkKCS8vIFB1dCBvYmplY3RzIGluIHNwYWNlIDUgYW5kIDMKCXZlY1s1XSA9IHNwYWNlNTsKCXZlY1szXSA9IHNwYWNlMzsKCQoJLy8gTW92ZSBvYmplY3QgaW4gc3BhY2UgNSB0byBhbm90aGVyIHBsYWNlCgl2ZWNbMV0gPSB2ZWNbNV07CgkKCXJldHVybiAwOwp9