함수 오버로딩 이란
-> 함수의 이름이 같고 매개변수의 타입이 다르고 개수가 다르며 마지막으로 리턴 타입이 같아야 된다.
말로 하면 무슨말인지 모를수 있다 예제를 들어보겠다.
int add()
int add(char)
int add(char,char)
이경우는 함수 오버로딩이 된다.
int add(char)
char add(int)
이경우는 함수 오버로딩이 되지 않는다 그 이유는 리턴 타입이 다르기 때문이다.
--------------------------------------------------------------------------------------------
디폴트 매개 변수
디폴트 매개 변수란?
-> 함수의 매개변수를 C++에서는 인자값이 없을 경우에는 자신이 원하는 값으로 설정할수 있는데
이를 디폴트 매개 변수라고 한다.
ex) int add(int a= 2) 라고 하면 메인에서 add(); << 인자값을 주지 않을경우 디폴트 매개변수는
자동으로 지역변수 a 의 값을 2로 초기화 해준다.
--------------------------------------------------------------------------------------------
그럼 디폴트 매개변수와 함수 오버로딩을 같이 쓸수 있는가????
int add(int a=10)
int add()
int main()
{
add(2); << 이경우에는 함수 오버로딩이 가능하다
add(); << 이경우 컴파일러는 누구를 호출해야되는가??? 그러므로 오류가 발생된다.
}
'Soft Ware > C++ 언어!!' 카테고리의 다른 글
소멸자!! (0) | 2011.10.06 |
---|---|
생성자!! (0) | 2011.10.06 |
정보 은닉과 캡슐화 (0) | 2011.10.05 |
oop_01 (0) | 2011.10.04 |
10월4일 시작 C++ 기본 예제 및 연습문제 1-1 (열혈강의 C++) (0) | 2011.10.04 |