C++에서 함수는 입력 인자의 자료형에 제약이 있습니다. 예를 들어 정수형 2개를 입력받고 두 값을 더한 정수를 반환하는 함수에 double형 값을 입력하면 문제가 발생합니다. 하지만 비슷한 또는 동일한 기능을 하고, 다양한 자료형을 모두 처리할 수 있는 함수가 필요할 때도 있습니다. 이럴 때 우리는 함수 오버로딩을 사용합니다. 쉽게 설명하자면, 같은 이름을 가졌지만 다른 자료형을 처리하는 함수입니다. 입력 인자의 자료형이 다르다는 뜻입니다. * 함수의 반환 자료형은 상관 없습니다. 입력 인자의 자료형만 고려합니다. 간단한 예시를 보겠습니다. // Overloading Function #include using namespace std; int add_num(int, int); double add_num..
C++
Prototype(프로토타입) C++ 에서 함수를 선언할 때, 여러가지 편의성을 이유로 프로토타입을 선언합니다. 가장 큰 이유로는 함수 선언의 순서를 신경쓰지 않아도 되는 것과 문서의 가독성을 높이고 코드 구조를 개선하는 이유입니다. 프로토타입의 위치는 무조건 함수의 선언 이전에 있어야 합니다. 관례적으로는, 헤더 이후 프로토타입 선언을 하고, 메인 함수 이후에, 프로토타입으로 선언된 함수들의 선언을 합니다. 프로토타입의 형태는 다음과 같습니다. // Function Prototypes void say_hello(); // 함수 Argument가 없을 때 int add_nums(int, int); int subt_nums(int n1, int n2); // 함수 argument가 있을 때, 두 형태 모두..
C++에서 랜덤한 숫자를 얻는 법을 알아보겠습니다. 우선, 저희가 사용할 함수들이 포함된 헤더를 포함시킵니다. (추가적인 정보는 https://en.cppreference.com/w/cpp/header/cstdlib 에 있습니다.) #include #include // cstdlib 헤더 추가 그리고 저희가 원하는 랜덤 숫자의 범위를 선택하기 위한 두가지 변수를 선언합니다. 저는 주사위에서 처럼 1과 6을 고르겠습니다. 주의할 점은 1과 6이 제외된 2-5의 범위가 대상이 아니고, 1과 6을 포함해서 1~6 사이에서 숫자가 결정됩니다. (이름은 원하시는대로 하면 됩니다.) 다음으로는 몇번의 숫자를 출력하고 싶은지를 선언합니다. 이 방법은 꼭 선언으로 하지 않더라도 for문 등 다양한 방법이 있으나, 이해..