[C++] default 매개변수

KWANHO PARK·2025년 3월 18일

CPP

목록 보기
1/24
/*
	default 매개변수 : 
*/
#include <iostream>

int func(int num = 10) {	// 디폴트 매개변수 선언
	return num * num;
}

int main()
{
	int res;
	res = func(20);
	std::cout << res << std::endl;

	res = func(0);
	std::cout << res << std::endl;

	res = func();	// 매개변수 입력 없으면 디폴트 매개변수 적용
	std::cout << res << std::endl;

	return 0;
}

/*
	디폴트 매개변수 여러 개 적용할 때는 맨 오른쪽부터 순서대로 작성
*/
#include <iostream>
int coordinates(int x, int y = 0, int z = 0); // default 값은 함수 원형에만 작성
int main()
{
	std::cout << "(10, 20, 30) : " << coordinates(10, 20, 30) << std::endl;
	std::cout << "(10, 20, def) : " << coordinates(10, 20) << std::endl;
	std::cout << "(10, 20, def) : " << coordinates(10) << std::endl;
	return 0;
}

int coordinates(int x, int y, int z) {

	int res;
	res = pow(x, 2) + pow(y, 2) + pow(z, 2);	// 제곱
	return sqrt(res);	// 제곱근
}

/*
	함수 오버로딩할때 디폴트 매개변수와 입력이 없는 순수한 함수 정의가 있을때
	입력 없는 함수 호출시 오류 발생
*/
#include <iostream>
using namespace std;

int func(int n = 0) {
	return n * n;
}

int func() {
	return 10;
}

int main()
{
	cout << func(10) << endl;
	//cout << func() << endl;	// 안됨. 구분못함
	return 0;
}

0개의 댓글