Anonymous interview question

C++ operator overloading, run time polymorphism, constructor, smart pointers