溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是C++默認參數(shù)

發(fā)布時間:2021-11-01 11:49:01 來源:億速云 閱讀:167 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“什么是C++默認參數(shù)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“什么是C++默認參數(shù)”吧!

    一、C++ 默認參數(shù)

    通常情況下,函數(shù)在調(diào)用時,形參從實參那里取得值。對于多次調(diào)用同一函數(shù)同一實參時,C++給出了更簡單的處理辦法。給形參以默認值,這樣就不用從實參那里取值了。

    1.舉例

    1.單個參數(shù)
    #include <iostream>
    #include <ctime>
    using namespace std;
    void weatherForcast(char * w="sunny")
    {
    	time_t t = time(0);
    	char tmp[64];
    	strftime(tmp,sizeof(tmp), "%Y/%m/%d %X %A ",localtime(&t) );
    	cout<<tmp<< "today is weahter "<<w<<endl;
    }
    int main()
    {
    	//sunny windy cloudy foggy rainy
    	weatherForcast();
    	weatherForcast("rainny");
    	weatherForcast();
    	return 0;
    }

    什么是C++默認參數(shù)

    2.多個參數(shù)
    #include <iostream>
    using namespace std;
    float volume(float length, float weight = 4,float high = 5)
    {
    	return length*weight*high;
    }
    int main()
    {
    	float v = volume(10);
    	float v1 = volume(10,20);
    	float v2 = volume(10,20,30);
    	cout<<v<<endl;
    	cout<<v1<<endl;
    	cout<<v2<<endl;
    	return 0;
    }

    什么是C++默認參數(shù)

    2.規(guī)則

    1.規(guī)定默認參數(shù)必須從函數(shù)參數(shù)的右邊向左邊使用

    正確聲明:
    void fun1(int a, int b=10);
    void fun2(int a, int b=10, int c=20);
    錯誤聲明:
    void fun3(int a=5, int b, int c);
    void fun4(int a, int b=5, int c);

    2.默認參數(shù)不能在聲明和定義中同時出現(xiàn)

    錯誤
    聲明:
    void fun1(int a=10);
    定義:
    void fun1(int a=10){......}
    正確
    聲明:
    void fun2(int a=10);
    定義:
    void fun2(int a){......}
    或者
    聲明:
    void fun2(int a);
    定義:
    void fun2(int a=10){......}

    3.函數(shù)聲明和定義一體時,默認參數(shù)在定義或聲明處都可以。聲明在前,定義在后的話,默認參數(shù)在聲明處

    4.一個函數(shù),不能又作重載,又作默認參數(shù)的函數(shù)。當你少寫一個參數(shù)時,系統(tǒng)無法確認時重載還是默認函數(shù)。

    void print(int a)
    {
    }
    void print(int a,int b =10)
    {
    }
    int main()
    {
    	print(10);
    	return 0;
    }
    error:main.cpp:14: error: call of overloaded 'print(int)' is ambiguous
    print(10);

    到此,相信大家對“什么是C++默認參數(shù)”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    c++
    AI