-
명품 C++ 6장 3번C++ 2018. 11. 2. 16:58
3. 함수 big()을 호출하는 경우는 다음과 같다.
int main() {int x = big(3, 5); // 3과 5 중 큰 값 5는 최대값 100보다 작으므로, 5 리턴int y = big(300, 60); // 300과 60 중 큰 값 300이 최대값 100보다 크므로, 100 리턴int z = big(30, 60, 50); // 30과 60 중 큰 값 60이 최대값 50보다 크므로, 50 리턴cout << x << ' ' << y << ' ' << z << endl;}1) big() 함수를 2개 중복하여 작성하고 프로그램을 완성하라.
소스코드
#include <iostream>using namespace std;int big(int a, int b) {int max = 100;int x;x = (a > b) ? a : b;return (x < max) ? x : max;}int big(int a, int b, int max) {int x;x = (a > b) ? a : b;return (x < max) ? x : max;}int main() {int x = big(3, 5); // 3과 5 중 큰 값 5는 최대값 100보다 작으므로, 5 리턴int y = big(300, 60); // 300과 60 중 큰 값 300이 최대값 100보다 크므로, 100 리턴int z = big(30, 60, 50); // 30과 60 중 큰 값 60이 최대값 50보다 크므로, 50 리턴cout << x << ' ' << y << ' ' << z << endl;}2) 디폴트 매개 변수를 가진 하나의 함수로 big()을 작성하고 프로그램을 완성하라.
소스코드
#include <iostream>using namespace std;int big(int a, int b, int max=100) {int x;x = (a > b) ? a : b;return (x < max) ? x : max;}int main() {int x = big(3, 5); // 3과 5 중 큰 값 5는 최대값 100보다 작으므로, 5 리턴int y = big(300, 60); // 300과 60 중 큰 값 300이 최대값 100보다 크므로, 100 리턴int z = big(30, 60, 50); // 30과 60 중 큰 값 60이 최대값 50보다 크므로, 50 리턴cout << x << ' ' << y << ' ' << z << endl;}실행결과
max를 넘기지 않는 경우 100이기 때문에, 디폴트 매개 변수로 max의 기본 값을 100으로 설정하였습니다.
'C++' 카테고리의 다른 글
명품 C++ 6장 5번 (0) 2018.11.02 명품 C++ 6장 4번 (0) 2018.11.02 명품 C++ 6장 2번 (0) 2018.11.02 명품 C++ 6장 1번 (0) 2018.11.02 명품 C++ 5장 Open Challenge (0) 2018.10.31