A.3 - 16 Points - class Name public: Name() 0 Name(string name) { this->name = name; } -Name() { cout << this->name << "
Posted: Sat Nov 27, 2021 2:36 pm
A.3 - 16 Points - class Name public: Name() 0 Name(string name) { this->name = name; } -Name() { cout << this->name << ": Destructor called." << endl; } string getName() const { return this->name; } private: string name{ "N/A" }; }; void passByMove(const unique_ptr<Name> uptr_M) { cout << "@uptr_M: "<< uptr_M<< endl; cout << "getName(): " << uptr_M->getName() << endl; } void passByRef(const unique_ptr<Name>& uptr_R) { cout << "@uPtr_R:"<<uPtr_R<<endl; cout << "getName(): " << uptr_R->getName() << endl; } void passByShare(const shared_ptr<Name> sPtr_S) { cout << "@sptr_S:"<<sptr_s << endl; cout << "getName():" << sptr_S->getName() << endl; cout << "use_count(): "<<sptr_s.use_count() << endl; } Name* passByValue(const unique_ptr<Name> uptr_V){ cout << "@uptr_V: "<< uptr_V«<endl; cout << "getName(): "<< uptr_V->getName() << endl; return uptr_V.get(); } int main() { cout << passByValue(make_unique<Name>("Goofy")) << endl; unique_ptr<Name> uPtr{ make_unique<Name>("Mickey") }; passByRef(uptr); cout << "name_uptr:" << uPtr << endl; passByMove(move(uptr)); cout << "name_uptr: " <<uPtr << endl; uPtr = make_unique<Name>("Minnie"); shared_ptr<Name> sPtr{ uPtr.release() }; passByShare(sptr); cout << "END of Program" << endl; return 0; }
How many lines does this program output? Please give the output of the program. Use @A, @B, @c, @D, and nullptr to represent memory addresses. 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
How many lines does this program output? Please give the output of the program. Use @A, @B, @c, @D, and nullptr to represent memory addresses. 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20