C++中建構函式預設引數學習筆記
阿新 • • 發佈:2019-01-04
C++中函式在定義時可以預先宣告預設的形參值,呼叫時如果給出的實參則用實參初始化形參;如果沒有給出實參,則採用預先宣告的預設形參值。
在Java不能在構造方法中使用預設的引數,不知道C語言中能否使用,C++好像是很獨特的一種使用方式
以下是一個簡單的例項:
#include <iostream> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; //不用預設引數 //int add(int x,int y); //第一個引數使用預設值 int add(int x,int y=6); // 倆個引數都是用預設值 //int add(int x=6,int y=5); int main(int argc, char** argv) { //不用預設引數 // cout<<add(10,20)<<endl; //第一個引數使用預設值 cout<<add(10)<<endl; // 倆個引數都是用預設值 // cout<<add()<<endl; return 0; } int add(int x,int y) { return x+y; }
以上是三種形式測試的時候開啟對應的註釋就ok了。
注意:預設形參必須從右往左的順序宣告。在有預設值的形參的右面不能出現無預設值的形參。
例如
int add(int x,int y=5,int z=6);//正確
int add(int x=4,int y,int z=6);//錯誤的有預設形參的右面不能出現無預設值的形參
int add(int x=4,int y=5,int z);//錯誤的有預設形參的右面不能出現無預設值的形參