欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++函數(shù)重載詳解及實(shí)例代碼

 更新時(shí)間:2016年09月30日 09:04:43   投稿:lqh  
這篇文章主要介紹了C++函數(shù)重載詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

C++函數(shù)的重載

定義

在同一個(gè)作用域中,函數(shù)名相同,函數(shù)的參數(shù)列表不同的函數(shù)之間構(gòu)成重載關(guān)系,在不同作用域中的同名函數(shù)遵循標(biāo)識(shí)符隱藏的原則

ATTENTION:重載與函數(shù)的返回值類型無關(guān),因?yàn)槁暶饕粋€(gè)函數(shù)不需要返回類型,所以無法用來區(qū)分哪個(gè)函數(shù)

常函數(shù)和普通成員函數(shù)之間構(gòu)成重載,重載時(shí)常對(duì)象調(diào)用常成員函數(shù),一般對(duì)象調(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ù)也可以通過名字空間指令/名字空間聲明的方式讓他們?cè)谕粋€(gè)作用域,進(jìn)而構(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)換/常量匹配>升級(jí)轉(zhuǎn)換>標(biāo)準(zhǔn)轉(zhuǎn)換>自定義轉(zhuǎn)換>省略號(hào)匹配
Note:編程中,盡量做到完全匹配,如果實(shí)在不能完全匹配,一般會(huì)根據(jù)上述原則進(jìn)行選擇

重載原理

C++編譯器是通過對(duì)函數(shù)進(jìn)行換名,將參數(shù)列表信息體現(xiàn)在底層函數(shù)名中,從而實(shí)現(xiàn)函數(shù)的重載,匯編函數(shù)名按照 <作用域+返回類型+函數(shù)名+參數(shù)列表> 的方式體現(xiàn)在匯編中,eg:_Z4showii:

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • opencv實(shí)現(xiàn)多張圖像拼接

    opencv實(shí)現(xiàn)多張圖像拼接

    這篇文章主要為大家詳細(xì)介紹了opencv實(shí)現(xiàn)多張圖像拼接功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C語言中g(shù)etopt()函數(shù)和select()函數(shù)的使用方法

    C語言中g(shù)etopt()函數(shù)和select()函數(shù)的使用方法

    這篇文章主要介紹了C語言中g(shù)etopt()函數(shù)和select()函數(shù)的使用方法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C++調(diào)用matlab函數(shù)的實(shí)例

    C++調(diào)用matlab函數(shù)的實(shí)例

    這篇文章主要介紹了C++調(diào)用matlab函數(shù)的方法,包括封裝matlab函數(shù),編譯matlab函數(shù)及C++環(huán)境配置,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • C++函數(shù)重載、隱藏與覆蓋重寫的精通指南

    C++函數(shù)重載、隱藏與覆蓋重寫的精通指南

    這篇文章主要給大家介紹了關(guān)于C++函數(shù)重載、隱藏與覆蓋重寫的相關(guān)資料,這幾個(gè)名詞看著好像很像,不過其實(shí)一樣都不一樣,本文通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • C語言深入探究動(dòng)態(tài)規(guī)劃之線性DP

    C語言深入探究動(dòng)態(tài)規(guī)劃之線性DP

    線性動(dòng)態(tài)規(guī)劃,是較常見的一類動(dòng)態(tài)規(guī)劃問題,其是在線性結(jié)構(gòu)上進(jìn)行狀態(tài)轉(zhuǎn)移,這類問題不像背包問題、區(qū)間DP等有固定的模板,線性動(dòng)態(tài)規(guī)劃的目標(biāo)函數(shù)為特定變量的線性函數(shù),約束是這些變量的線性不等式或等式,目的是求目標(biāo)函數(shù)的最大值或最小值
    2022-04-04
  • c++11 符號(hào)修飾與函數(shù)簽名、函數(shù)指針、匿名函數(shù)、仿函數(shù)、std::function與std::bind

    c++11 符號(hào)修飾與函數(shù)簽名、函數(shù)指針、匿名函數(shù)、仿函數(shù)、std::function與std::bind

    這篇文章主要介紹了c++11 符號(hào)修飾與函數(shù)簽名、函數(shù)指針、匿名函數(shù)、仿函數(shù)、std::function與std::bind,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • C語言實(shí)現(xiàn)簡(jiǎn)易版三子棋游戲

    C語言實(shí)現(xiàn)簡(jiǎn)易版三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)易版三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • opencv實(shí)現(xiàn)圖像傾斜校正

    opencv實(shí)現(xiàn)圖像傾斜校正

    這篇文章主要為大家詳細(xì)介紹了opencv實(shí)現(xiàn)圖像傾斜校正,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 淺析int*p[ ]與int(*p)[ ]的區(qū)別

    淺析int*p[ ]與int(*p)[ ]的區(qū)別

    以下是對(duì)int*p[ ]與int(*p)[ ]的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
    2013-07-07
  • C++中鏈表操作實(shí)例分析

    C++中鏈表操作實(shí)例分析

    本文給大家分享了個(gè)人對(duì)于C++中鏈表操作的理解,并對(duì)具體實(shí)例進(jìn)行了分析,是篇非常不錯(cuò)的學(xué)習(xí)鏈表操作的文章,希望大家能夠喜歡
    2017-07-07

最新評(píng)論