C++ 允許在同一作用域中的某個(gè)函數(shù)和運(yùn)算符指定多個(gè)定義乘凸,分別稱為函數(shù)重載和運(yùn)算符重載。
重載聲明是指一個(gè)與之前已經(jīng)在該作用域內(nèi)聲明過的函數(shù)或方法具有相同名稱的聲明营勤,但是它們的參數(shù)列表和定義(實(shí)現(xiàn))不相同壹罚。
當(dāng)調(diào)用一個(gè)重載函數(shù)或重載運(yùn)算符時(shí)寿羞,編譯器通過把所使用的參數(shù)類型與定義中的參數(shù)類型進(jìn)行比較,決定選用最合適的定義辨泳。選擇最合適的重載函數(shù)或重載運(yùn)算符的過程玖院,稱為重載決策。
C++ 中的函數(shù)重載
C++ 中的運(yùn)算符重載
當(dāng)上面的代碼被編譯和執(zhí)行時(shí)途乃,它會(huì)產(chǎn)生下列結(jié)果:
Volume of Box1 : 210
Volume of Box2 : 1560
Volume of Box3 : 5400
可重載運(yùn)算符/不可重載運(yùn)算符
可重載的運(yùn)算符列表:
不可重載的運(yùn)算符列表: