C++.3 function overload / default
1. 목적
- 함수 오버로드 확인
- 함수 매개변수 default값 지정해 보기
2. 코드
#include <iostream>
// 디폴트값 지정, 함수 오버로드
// 디폴트 확인
int BoxVolume(int width=1, int length=1, int height=1)
{
int Volume;
Volume = width * length * height;
return Volume;
}
// 오버로드 확인
void Showmessage()
{
std::cout << "Happy birthday!" << std::endl;
}
void Showmessage(int num)
{
std::cout << "Lebron scored " << num << " points tonight" << std::endl;
}
int Showmessage(int num1, int num2)
{
return num1 + num2;
}
int main()
{
// 디폴트 작동 확인
int Volume;
Volume=BoxVolume(2, 3, 4);
std::cout << "Volume is : " << Volume << std::endl;
Volume=BoxVolume(2, 3);
std::cout << "Volume is : " << Volume << std::endl;
Volume=BoxVolume(2);
std::cout << "Volume is : " << Volume << std::endl << std::endl;
// 함수 오버로드 확인
Showmessage();
Showmessage(48);
std::cout << Showmessage(22, 10) << std::endl;
return 0;
}
- 자세한 설명은 주석 참조
3. 결과
4. 디폴트 지정 시 유의사항
함수를 불러와 인자를 입력했을 때 매개변수의 좌측부터 복사가 진행되므로 디폴트는 매개변수 우측부터 지정해 주어야 한다. 그렇지 않을 시 위와같은 에러가 발생한다.
5. 결론
매개변수는 우측부터 디폴트처리 해야 한다. 또한 함수 오버로드는 반환형, 매개변수의 형, 개수가 다르다면 언제든지 활용할 수 있다.
Author And Source
이 문제에 관하여(C++.3 function overload / default), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@croco/C.3-Default-function-overload저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)