c++——默認參數、函數佔位參數

2 默認參數

/*1函數

C++中能夠在函數聲明時爲參數提供一個默認值,spa

         當函數調用時沒有指定這個參數的值,編譯器會自動用默認值代替ci

*/get

void myPrint(int x = 3)編譯器

{編譯

    printf("x:%d", x);table

}擴展

/*2gc

函數默認參數的規則程序

         只有參數列表後面部分的參數才能夠提供默認參數值

         一旦在一個函數調用中開始使用默認參數值,那麼這個參數後的全部參數都必須使用默認參數值

*/

 

//默認參數

void printAB(int x = 3)

{

         printf("x:%d\n", x);

}

 

//在默認參數規則 ,若是默認參數出現,那麼右邊的都必須有默認參數

void printABC(int a, int b, int x = 3, int y=4, int z = 5)

{

         printf("x:%d\n", x);

}

int main62(int argc, char *argv[])

{

         printAB(2);

         printAB();

         system("pause");

         return 0;

}

3 函數佔位參數

/*

函數佔位參數 

佔位參數只有參數類型聲明,而沒有參數名聲明

通常狀況下,在函數體內部沒法使用佔位參數

*/

 

int func(int a, int b, int )

{

         return a + b;

}

 

int main01()

{

    //func(1, 2); //能夠嗎?

         printf("func(1, 2, 3) = %d\n", func(1, 2, 3));

 

         getchar();        

         return 0;

}

 

4 默認參數和佔位參數

/*

能夠將佔位參數與默認參數結合起來使用

         意義

         爲之後程序的擴展留下線索 

         兼容C語言程序中可能出現的不規範寫法

         */

//C++能夠聲明佔位符參數,佔位符參數通常用於程序擴展和對C代碼的兼容

int func2(int a, int b, int = 0)

{

         return a + b;

}

void main()

{

         //若是默認參數和佔位參數在一塊兒,都能調用起來

         func2(1, 2);

         func2(1, 2, 3);

         system("pause");

}

結論://若是默認參數和佔位參數在一塊兒,都能調用起來

相關文章
相關標籤/搜索