Является ли следующий шаблон ОК/безопасным? Или есть недостатки? (Я также использую его для операторов равенства)
Derived& operator=(const Derived& rhs)
{
static_cast<Base&>(*this) = rhs;
// ... copy member variables of Derived
return *this;
}