Well after much research I have come to this conclusions:
While this use of the base class assignment operator will work properly
A::operator=(b)
The code will still need to provide a proper exception-safe, self-assignment-safe guarantee as it mentioned in the comments.
Moreover since we need to implement an assignment operator that also means by the rule of three we will need to implement a copy-constructor and as mentioned here that will cause an unnecessary code duplication.
So how do we solve all this problems (and probably a few more..) ? Best why I found is to use Copy-and-Swap-Idiom. I believe no further explanation is needed beyond what is provided in that post.