C++中運算子的過載規則
C++支援編譯時多型。編譯時多型的示例有函式過載和運算子過載。
運算子過載有一些規則。這些規則如下
只能過載內建運算子。如果某些運算子不在C++中,我們將無法過載它們。
運算子的arity不能更改
運算子的優先順序保持不變。
過載的運算子不能儲存函式呼叫運算子“()”之外的預設引數。
我們不能為內建資料型別過載運算子。至少必須存在一個使用者定義的資料型別。
分配“=”,下標“[]”,函式呼叫“()”和箭頭運算子“->”這些運算子必須定義為成員函式,而不是友元函式。
一些運算子,例如分配“=”,地址“&”和逗號“,”預設情況下會過載。
廣告