const IPtr& operator=(const IPtr& other) { if ( pointer != other.pointer ) { if (pointer) pointer->Release(); pointer = other.pointer; if (pointer) pointer->AddRef(); } return *this; }
IPtr(const IPtr& other) : pointer( other.pointer ) { if (pointer) pointer->AddRef(); }