![]() |
Вызвать перегруженный оператор присваивания суперкласса.
Есть вопрос касающийся кода, который (почти) целиком лежит там.
Как видно, существует класс Becher и подкласс BecherMitAufdruck. В суперклассе я создал перегруженный оператор присваивания. Код:
Becher& Becher::operator=(const Becher &b) Код:
BecherMitAufdruck& BecherMitAufdruck::operator=(const BecherMitAufdruck &b) Код:
(Becher)(*this) = (Becher)b; Код:
Becher::operator=(b) |
Думаю, нормальным решением будет следующее.
Поясню на примере класса Becher. Создаются вспомогательные методы Код:
void Becher::_copy(const Becher &b) { Код:
Becher& Becher::operator=(const Becher &b) { Код:
void BecherMitAufdruck::_copy(const BecherMitAufdruck &b) { Надеюсь, мысль ясна. |
Цитата:
Код:
Becher::operator=(b); Также можно вызывать все остальные операторы базовых классов |
Время: 03:26. |
Время: 03:26.
© OSzone.net 2001-