IBM interview question

Implement the shared smart pointer. Write copy constructor and assignement operator overloaded. Write Singleton class.