열혈강의 C++ 내용
함수 오버로딩: 함수호출 시 전달되는 인자를 통해서 호출하고자 하는 함수를 구분 가능한데 이러한 형태의 함수 정의를 일컬음
ex)
MyFunc(20); //MyFunc(int num) 호출
MyFunc(20,30); //MyFunc(int num1, int num2) 호출
c에서는 허용하지 않지만 c++에서는 허용함
c에서는 함수의 이름만을 가지고 호출 대상을 찾지만 c++에서는 함수 이름과 매개변수를 모두 활용하여 호출 대상을 찾는다고 한다.
함수명, 매개변수로는 구분 가능하지만 반환타입으로는 구분할 수 없다
예제
[code]
#include <iostream>
void MyFunc(void) {
std::cout << "MyFunc(void) called" << std::endl;
}
void MyFunc(char c) {
std::cout << "MyFunc(char c) called" << std::endl;
}
void MyFunc(int a, int b) {
std::cout << "MyFunc(int a,int b) called" << std::endl;
}
int main(void) {
MyFunc();
MyFunc('A');
MyFunc(12,13);
return 0;
}
[/code]
결과 화면
'코딩,문제풀이 > cpp' 카테고리의 다른 글
열혈강의 c++ p.32 (0) | 2017.01.01 |
---|---|
매개변수 디폴트값 (0) | 2017.01.01 |
열혈강의 c++ p.26 (0) | 2017.01.01 |
열혈강의c++ p.22 (0) | 2017.01.01 |
c++ 입출력 (0) | 2017.01.01 |