There is this code:
#include
class Base {
public:
Base(){
std::cout << \"Constructor base\" << std::endl;
}
You don't have a default
Derived& operator=(const Base& a);
in your Derived class.
A default assignment operator, however, is created:
Derived& operator=(const Derived& a);
and this calls the assignment operator from Base. So it's not a matter of inheriting the assignment operator, but calling it via the default generated operator in your derived class.