C++函數(shù)重載詳解及實例代碼
C++函數(shù)的重載
定義
在同一個作用域中,函數(shù)名相同,函數(shù)的參數(shù)列表不同的函數(shù)之間構(gòu)成重載關(guān)系,在不同作用域中的同名函數(shù)遵循標識符隱藏的原則
ATTENTION:重載與函數(shù)的返回值類型無關(guān),因為聲明一個函數(shù)不需要返回類型,所以無法用來區(qū)分哪個函數(shù)
常函數(shù)和普通成員函數(shù)之間構(gòu)成重載,重載時常對象調(diào)用常成員函數(shù),一般對象調(diào)用一般成員函數(shù)
class A{ … public: void getVal()const{…} void getVal(){…} }; int main(){ const A a; A b; a.getVal(); //常函數(shù) b.getVal(); //普通成員函數(shù) }
不同namespace中的函數(shù)也可以通過名字空間指令/名字空間聲明的方式讓他們在同一個作用域,進而構(gòu)成重載關(guān)系
//overloaded functions in different namespaces
#include<iosteam> using namespace std; namespace ns1{ void fa(int i){cout<<"in ns1:i="<<i<<endl;} } namespace ns2{ void fa(double d){cout<<"in ns2:i="<<d<<endl;} } int main(){ //使用namespace 指令的方式 using namespace ns1; using namespace ns2; fa(10); fa(3.14); return 0; }
重載匹配原則
完全匹配>常量轉(zhuǎn)換/常量匹配>升級轉(zhuǎn)換>標準轉(zhuǎn)換>自定義轉(zhuǎn)換>省略號匹配
Note:編程中,盡量做到完全匹配,如果實在不能完全匹配,一般會根據(jù)上述原則進行選擇
重載原理
C++編譯器是通過對函數(shù)進行換名,將參數(shù)列表信息體現(xiàn)在底層函數(shù)名中,從而實現(xiàn)函數(shù)的重載,匯編函數(shù)名按照 <作用域+返回類型+函數(shù)名+參數(shù)列表> 的方式體現(xiàn)在匯編中,eg:_Z4showii:
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
上一篇:常用的C語言排序算法(兩種)
欄 目:C語言
下一篇:C++中幾種將整數(shù)轉(zhuǎn)換成二進制輸出的方法總結(jié)
本文標題:C++函數(shù)重載詳解及實例代碼
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2036.html
您可能感興趣的文章
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用函數(shù)刪除字符
- 04-02c語言的正則匹配函數(shù) c語言正則表達式函數(shù)庫
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對數(shù)怎么表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段函數(shù)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排序法函數(shù)
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段函數(shù)
- 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求階乘


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機閱讀
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10C#中split用法實例總結(jié)
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改