可過載的運算子超級多,這裡就列舉下不能過載的算符好了。
不能過載的算符有:
. :: .* ?: sizeof
過載自增自減運算子的時候,如果是前置的自增自減,那麼呼叫的是operator ++(或–)()
如果是後置的,那麼呼叫的是operator ++(或–)(int)
過載=運算子時,類中 沒有指標成員 不需要過載=運算子,預設的淺拷貝就可以完成。類中 有指標成員 必須過載=運算子
指標作為類的成員:
1、拷貝建構函式 必須自定義(預設拷貝構造 是淺拷貝)
2、必須過載=運算子 (預設=號運算子 是淺拷貝)
&&和||是不該過載的,因為使用者無法實現與或的短路特性。
&& 短路特性: a && b 如果a為假 b將不會執行
|| 短路特性: a || b 如果a為真 b將不會執行
=,,()和->操作符只能通過成員函式進行過載 《和》只能通過全域性函式配合友元函式進行過載。
運算子過載 賦值運算子的過載
有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...
運算子過載 類的賦值運算子過載
下面介紹類的賦值運算子 1.c 中物件的記憶體分配方式 在c 中,物件的例項在編譯的時候,就需要為其分配記憶體大小,因此,系統都是在stack上為其分配記憶體的。這一點和c 完全不同!千 萬記住 在c 中,所有類都是reference type,要建立類的實體,必須通過new在heap上為其分配空間...
運算子過載限制 不能過載的運算子
1.過載後的運算子必須至少有乙個操作符是使用者定義的型別。2.使用運算子不能違反運算子原來的句法規則。3.不能新建運算子 4.不能過載 sizeof const cast,dynamic cast,reinterpret cast,static cast 5.只能通過成員函式過載的運算子 限制說明 ...