這是從有效C++第二版斯科特邁爾斯(第70頁)呼叫操作員的衍生自
作者寫道沒有太多的解釋是,當基類操作者=被稱爲以如下方式
的項目16內=Base::operator=(rhs);
一些編譯器(儘管不正確地)拒絕此,如果是由編譯器產生的operator =
(見項目45),以便更好地利用
static_cast<base&>(*this) = rhs;
在第45項他提到,如果基類operator =
是私有的,派生類=
無權調用它。
,但原來的問題編譯器拒絕它,因爲它是由編譯器生成的(這必須是公共的)
任何幫助(鏈接)這將是有益的。 (其很難谷歌這些類型的問題)
幫助什麼,到底是什麼?這本書似乎非常明確和直接。你有什麼問題? – abelenky 2011-04-24 18:13:55
如果您正在處理類層次結構,最好不要使用賦值。 – 2011-04-24 18:46:20
@chris感謝您的編輯。 – Amar 2011-04-26 06:16:51