함수의 원형
함수의 원형이란 미리 컴파일러에게 함수의 존재를 알려주는 것으로 이때 함수의 이름과 반환형과 매개변수 만을 기입하여도 된다.
하지만 이때에 매개변수의 자료형만을 기입하여도 가능하다.
이때 원형에서 디폴트 매개변수를 넣을 수 있는데, 이는 함수원형에서만 선언이 가능하다.
예시 : int test(double num = 3.0)
이는 매개변수에 아무것도 들어오지 않았을 때에 num 에 3.0을 넣어서 처리를 한다는 뜻이다.
디폴트 매개변수에는 여러개를 넣을 수 도 있는데 이때에 앞에서 부터 뒤로 넣어 주어야 한다.
중복 함수(overloading function)
정의 : 중복함수란 함수이름이 같게 선언이 가능하다.
C 에는 이 기능이 없다. 하지만 C++ 에는 있다.
중복함수를 활용하는 방법은 이름은 같게 선언하고 들어가는 매개변수의 변수 타입이나 개수를 다르게 하여 선언이 가능하다.
(이때 반환형은 다르게 해도 중복선언이 불가능하다.)
C++ 는 함수의 signature 로 함수를 구분한다.
함수의 signature란? -> 함수의 이름 + 함수의 매개변수의 개수 + 각 매개변수의 자료형
이 3가지를 조사하여 서로 같은 함수인지 아닌지를 구분한다.
인라인 함수
함수를 호출하지 않고 코드를 그대로 복사하여 넣는것이다. 따라서 따로 선언하여 부르는 것 보다 빠르다.
라이브러리 함수 : 컴파일러에서 제공하는 함수 이다.
rand() 함수는 랜덤수를 출력하는 함수이다 하지만 이는 처음 랜덤 출력한 수를 계속 똑같이 계속 출력하기에 계속 다른 랜덤 함수를 출력하기에는 옳지 않다.
따라서 srand()를 사용한다. 이 함수는 시드를 인자로 받아와 그에 따른 랜덤 값을 출력한다. 따라서 srand()와 ctime()을 활용한다면 계속적으로 다른 랜덤수를 생성할 수 있다.