728x90
[ 매개변수의 디폴드 값 ]
더보기
01. 예제 DefaultValue3.cpp에 정의된 함수 BoxVolume를 '매개변수의 디폴드 값 지정' 형태가 아닌, ' 함수 오버로딩'의 형태로 재 구현해보자. 물론 main 함수는 변경하지 않아야 하며, 실행결과도 동일해야한다.
#include <iostream>
using namespace std;
int BoxVolume(int x, int y, int z)
{
return x * y * z;
}
int BoxVolume(int x, int y)
{
return x * y;
}
int BoxVolume(int x)
{
return x;
}
int BoxVolume()
{
return 0;
}
int main(void)
{
cout << " [3,3,3] : " << BoxVolume(3,3,3) << endl;
cout << " [5,5,D] : " << BoxVolume(5,5) << endl;
cout << " [7,D,D] : " << BoxVolume(7) << endl;
return 0;
}
더보기
02. 다음과 같은 형태로의 함수 오버로딩은 문제가 있다. 어떠한 문제가 있는지 설명해보자.
#include <iostream>
using namespace std;
int SimpleFunc(int a = 10)
{
return a + 1;
}
int SimpleFunc(void)
{
return 10;
}
SimpleFunc()과 같이 인자의 값을 입력하지 않고 함수 호출 시 두 함수의 조건이 만족하기 때문에 문제가 생긴다.
728x90
'C++언어 > 개념 공부' 카테고리의 다른 글
[ 열혈 c++ 프로그래밍 ] Part2 - 1 (0) | 2022.09.01 |
---|---|
[ 열혈 c++ 프로그래밍 ] Part1 - 2 (0) | 2022.08.24 |
[ 열혈 c++ 프로그래밍 ] Part1 - 1 (0) | 2022.08.24 |