перегрузка операторов присваивания, когда класс является дочерним

Как вы устанавливаете члены базового класса с помощью реализации оператора присваивания? Если, например, кто-то определяет оператор присваивания в производном классе, например:

(где оба color и Color () являются членами класса b ase class - это означает, что указанные ниже строки недопустимы)

Derived& Derived::operator=(const Derived& rhs) 
{
if (&rhs != this)
{

    Colour(rhs.colour);    // not allowed
        Colour(rhs.Colour());  // not allowed
}
return *this;
}

каково решение? Есть ли способ связать перегрузки операторов в базе? Я делаю что-нибудь вроде ...

Derived& Derived::operator=(const Derived& rhs) : Base::operator=(rhs)
...?
6
задан SirYakalot 8 December 2011 в 16:07
поделиться