1、運算子函式
運算子函式的名字是由關鍵字operator後跟對應的運算子構成。
二元運算子可以定義為取乙個引數的非靜態成員函式,也可以定義為去兩個引數的非成員函式。
乙個運算子函式必須或者是乙個成員函式,或者至少有乙個使用者定義型別的引數。
不存在運算子遮蔽,這就保證了內部運算子可以用,並且為運算子定義新的意義時,不用修改原有的類的宣告。
複製建構函式採用的引用引數。被用在初始化變數,引數傳遞和值返回。
2、建構函式不能刻畫:
從使用者定義型別到內部型別的轉換,因為內部型別不是類
從新型別到某個已有型別的轉換,而不去修改那個已有類的宣告。
3、友元
成員函式只能通過類物件訪問,隱式轉換不會被用於非const的引用引數。
某個運算的所有運算物件都允許隱式型別轉換,採用const引用引數或非引用引數,可以選擇友元函式。
4、基本運算子
賦值和初始化是不同的操作。
通過將建構函式宣告為explicit(顯示)的方式就可以抑制隱式轉換。
5、下標【】
函式operator[ ]可以用於為類的物件定義下標運算的意義。
6、函式呼叫
記法形式expression(expression-list),是一種二元運算,其中expression作為左運算物件,而expression-list作為右運算物件。
operator()中()的引數列表將被求值。必須作為成員函式。
7、間接
間接運算子->可以被定義為乙個一元的運算子。
可以在通過類物件間接訪問類成員的物件。
可以看成是c++裡提供的一種受限的,但也非常重要的委託機制。
第十一章運算子過載
1 運算子過載 include using namespace std class num num int get const void set int x private int n int main num int get const void set int x void add privat...
(一二二)運算子過載 第十一章
本章重點是類設計技術,而不是通用原理。c 的重點是 多使用。運算子過載是一種形式的c 多型 就像函式過載那樣,同名但呼叫不同的函式 要過載運算子,需要使用被稱為運算子函式的特殊函式形式。運算子函式格式如下 operator 運算子 argument list 例如 operator 表示過載加號運算...
第十一周 實現類中的運算子過載
檔名稱 text.cpp 完成日期 2015年5月16日 版本號 v1.0 問題描述 請用類的成員函式定義複數類過載運算子 使之能用於複數的加減乘除 輸入描述 無 程式輸出 複數類加減乘除之後的結果 include using namespace std class complex complex ...