Каков правильный способ вызова оператора из оператора производного класса?
Я пытаюсь вызвать базовый перегруженный оператор из перегруженного оператора производного класса. Я попробовал следующее, но он не работает:
const myObject& myObject::operator = (const myObject &otherObject) {
static_cast<BaseType>(*this) = static_cast<BaseType>(otherObject); // assuming BaseType has assignment overloaded
return *this;
}
Это фактический код:
const studentType& studentType::operator = (const studentType &student) {
static_cast<personType>(*this) = static_cast<personType>(student);
// new junk here
return *this;
}
Примечание. Оператор базового класса перегружен, поэтому проблем нет.
Используйте следующий код
const studentType& studentType::operator = (const studentType &student) {
personType::operator =(student);
// new junk here
return *this;
}
overridden
неoverloaded