I am trying to create very basic shared_ptr and want to overload constructor depending on the pointee type.
class A { int a; }; class B :public A {}; templat