Overloaded the = operator for smartpointers.
Overloaded the arrow operator.