열혈강의 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

+ Recent posts