![]() |
Вызвать перегруженный оператор присваивания суперкласса.
Есть вопрос касающийся кода, который (почти) целиком лежит там.
Как видно, существует класс 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);Также можно вызывать все остальные операторы базовых классов |
| Время: 18:35. |
Время: 18:35.
© OSzone.net 2001-