본문 바로가기

Overloading (오버로딩) Polymorphism(다형성)의 하나이다. Overloading 에는 Function Overloading(함수오버로딩)과 Operator Overloading(연산자오버로딩)이 있다. 함수 오버로딩이란 같은 이름의 함수를 여러개 만들수 있을을 일컫는 것이다. 단! 같은 이름의 함수를 만들기 위해서는 전달인자의 목록이 다르거나 리턴값이 달라야만 한다. 연산자 오버로딩은 사실 함수 오버로딩이다. 연산자를 오버로딩 함으로써 우리가 원하는 객체연산을 만들기 때문에 특별히 연산자 오버로딩이라 이름을 붙여준 듯 하다. 그리고 연산자 오버로딩 시에는 그냥 + - 부호만 쓰며 더하기 빼기 같은 연산자와 똑같기때문에 그와 구분을 주기 위해서 'operator'를 쓰고서 그뒤에 원하는 연산자를 써서 사용한다. cf) .. 더보기
디폴트매개변수 디폴트 매개변수란 함수를 사용할때 매개변수로 값이 들어가지 않을때 디폴트 값으로 들어가게 함수의 원형에 명시해 주는것이다. 디폴트 매개변수의 사용 사용시에 디폴트 매게변수를 오른쪽에서 왼쪽의 순서로 첨가해야 한다. ex) int Func1(int a , int b, int c = 1); [O] int Func2(int a, int b = 1, int c = 1); [O] int Func3(int a = 2, int b , int c = 1); [X] 더보기
함수포인터(Function Pointer) 함수 포인터란 함수를 가리키는 포인터다. 함수의 원형 리턴타입(*변수명)(인수의 목록); 함수의 원형에서 관심깊게 봐야 할 것은 함수명이 변수명에 *를 붙였다는 것이다. 더보기