亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++初階教程之缺省參數(shù)與函數(shù)重載

 更新時(shí)間:2023年04月23日 10:22:46   作者:sukuni  
缺省參數(shù)是聲明或定義函數(shù)時(shí)為函數(shù)的參數(shù)指定一個(gè)缺省值,在調(diào)用該函數(shù)時(shí)如果沒有指定實(shí)參則采用該形參的缺省值,否則使用指定的實(shí)參,這篇文章主要給大家介紹了關(guān)于C++初階之缺省參數(shù)與函數(shù)重載的相關(guān)資料,需要的朋友可以參考下

一.缺省參數(shù)

C++祖師爺在用C寫代碼的時(shí)候,就覺得有些地方用著很不方便,于是就在C++設(shè)計(jì)了缺省參數(shù),在實(shí)現(xiàn)一些功能時(shí),用這個(gè)就方便了許多。

1.概念

缺省參數(shù)是聲明或定義函數(shù)時(shí)為函數(shù)的參數(shù)指定一個(gè)缺省值。在調(diào)用該函數(shù)時(shí):

      a.如果沒有指定實(shí)參則采用該形參的缺省值;

      b.否則使用指定的實(shí)參。

例:

2.分類

a.全缺省參數(shù):函數(shù)的所有參數(shù)都是缺省參數(shù)。

//全缺省參數(shù)
void func(int a=10,int b=20)
{
    return a+b;
}

b.半缺省參數(shù):函數(shù)的部分參數(shù)是缺省參數(shù),并不是非得有一半是缺省參數(shù)。

//半缺省參數(shù)
void func(int a,int b=20,int c=10)
{
    return a+b+c;
}

3.注意

a.缺省參數(shù)是從右往左,所以不能隔著給;

b.函數(shù)傳參是從左往右,所以不能跳著傳參;

c.函數(shù)的聲明和定義不能同時(shí)出現(xiàn)缺省參數(shù),只能在聲明出現(xiàn),定義不能出現(xiàn);

d.缺省值必須是常量或是全局變量。

二.函數(shù)重載

先來講講重載在生活中的例子。

簡單來說就是一個(gè)詞的不同意思,我們來看一個(gè)笑話吧:

            國有兩個(gè)體育項(xiàng)目大家根本不用看,也不用擔(dān)心。一個(gè)是乒乓球,一個(gè)是男足。前者是“誰也贏不了!”,后者是“誰也贏不了!

同一詞”誰也贏不了“,表達(dá)的卻是不同的意思,這就是重載。

1.概念

函數(shù)重載:是函數(shù)的一種特殊情況,C++允許在同一作用域中聲明幾個(gè)功能類似的同名數(shù);

特點(diǎn):

          a.同名

          b.參數(shù)的類型,個(gè)數(shù),類型順序不同

          c.與返回值是否相同無關(guān)

注意:函數(shù)中有缺省參數(shù)也可以認(rèn)為是函數(shù)重載;

例:

void func()
{
    cout << 1 << endl;
}
 
void func(int a = 10)
{
    cout << 10 << endl;
}
 
//但這種情況要注意,如果這樣調(diào)用函數(shù):func(),就會(huì)報(bào)錯(cuò)

如果使用不當(dāng),會(huì)造成這個(gè)錯(cuò)誤:

注意以下情形并不構(gòu)成函數(shù)重載:

int add(int a, int b)
{
    return a + b;
}
 
int add(int b, int a)
{
    return a + b;
}

至于為什么不構(gòu)成,這就涉及到函數(shù)重載的原理了,下面讓我們一起來看看函數(shù)重載的原理吧。

2.C++支持函數(shù)重載的原理

C++編譯器中,調(diào)用函數(shù)時(shí),不是直接用函數(shù)名,而是會(huì)對函數(shù)名進(jìn)行修飾,根據(jù)修飾后的調(diào)用函數(shù)。而C編譯器并不會(huì)對函數(shù)進(jìn)行修飾,它是直接用函數(shù)名來調(diào)用函數(shù)的,所以C不支持函數(shù)重載。

所以上述不構(gòu)成函數(shù)重載的情形就得到了解釋。

不同環(huán)境下的修飾規(guī)則不同,vs的較為復(fù)雜,這里以Linux的修飾規(guī)則為例

Linux的修飾規(guī)則

_Z+函數(shù)名的長度+函數(shù)名+參數(shù)類型的第一個(gè)字母

void  func(int a,double b);
//Linux環(huán)境下修飾后的:_Z4funcid

總結(jié)

到此這篇關(guān)于C++初階教程之缺省參數(shù)與函數(shù)重載的文章就介紹到這了,更多相關(guān)C++缺省參數(shù)與函數(shù)重載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)

    C語言實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 基于C++制作一個(gè)簡單的跑酷游戲

    基于C++制作一個(gè)簡單的跑酷游戲

    這篇文章主要為大家詳細(xì)介紹了如何利用C++制作一個(gè)簡單的跑酷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-06-06
  • C++中各種可調(diào)用對象深入講解

    C++中各種可調(diào)用對象深入講解

    這篇文章主要給大家介紹了關(guān)于C++中各種可調(diào)用對象的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • C語言中const和C++中的const 區(qū)別詳解

    C語言中const和C++中的const 區(qū)別詳解

    這篇文章主要介紹了C語言中const和C++中的const 區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • MATLAB Delaunay算法提取離散點(diǎn)邊界的方法

    MATLAB Delaunay算法提取離散點(diǎn)邊界的方法

    這篇文章主要為大家詳細(xì)介紹了MATLAB Delaunay算法提取離散點(diǎn)邊界的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C/C++程序開發(fā)中實(shí)現(xiàn)信息隱藏的三種類型

    C/C++程序開發(fā)中實(shí)現(xiàn)信息隱藏的三種類型

    這篇文章主要介紹了C/C++程序開發(fā)中實(shí)現(xiàn)信息隱藏的三種類型的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • C++鏈表類的封裝詳情介紹

    C++鏈表類的封裝詳情介紹

    這篇文章主要介紹了C++鏈表類的封裝,文章基于C++的相關(guān)資料展開主題的詳細(xì)內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • C++中std::allocator的使用案例詳解

    C++中std::allocator的使用案例詳解

    這篇文章主要介紹了C++中std::allocator的使用案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • C語言 pthread_create() 函數(shù)講解

    C語言 pthread_create() 函數(shù)講解

    這篇文章主要介紹了C語言 pthread_create() 函數(shù)講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C++利用多態(tài)實(shí)現(xiàn)職工管理系統(tǒng)(項(xiàng)目開發(fā))

    C++利用多態(tài)實(shí)現(xiàn)職工管理系統(tǒng)(項(xiàng)目開發(fā))

    這篇文章主要介紹了C++利用多態(tài)實(shí)現(xiàn)職工管理系統(tǒng)(項(xiàng)目開發(fā)),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01

最新評論