4
是否有可能過載=
操作員而不完全重新實現?過載分配操作員保留基本功能
我想指定它的特殊行爲 - 如果輸入對象有一些特殊的值 - >運算符應該做一些額外的工作。如果沒有 - 它應該作爲基本的賦值操作符。
喜歡的東西
operator=(input)
if (input == specialValue)
setParam(this->true)
base()
是否有可能過載=
操作員而不完全重新實現?過載分配操作員保留基本功能
我想指定它的特殊行爲 - 如果輸入對象有一些特殊的值 - >運算符應該做一些額外的工作。如果沒有 - 它應該作爲基本的賦值操作符。
喜歡的東西
operator=(input)
if (input == specialValue)
setParam(this->true)
base()
您可以通過使用做,如果其他聲明,在其他部分指定的基本功能,並在如果或否則如果一部分,如果指定條件條件爲真根據該值執行操作返回一些特定值。
operator=(input)
if (input == specialValue)
setParam(this->true)
esle
setParam(input)
儘管如此,他並不想重新實現整個事情,這正是你在'else'子句中所做的。 – hlt
只要你重載它,基本賦值運算符就不見了。 – Nishant
好的。那麼接下來的問題是 - 是否有可能只在基類中重載它,而不需要在繼承類中的任何地方實現它? – lapots
在基類中給出一個默認實現,並在派生類中實現一個超載實現。 – acraig5075