1. 程式人生 > >C++中建構函式預設引數學習筆記

C++中建構函式預設引數學習筆記

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);//錯誤的有預設形參的右面不能出現無預設值的形參