2009. 11. 19. 15:01
// c언어에서는 같은 이름을 가진 함수를 중복해서 만들 수 없다.
// c++에서는 전달되는 인자의 개수나 인자의 Type이 다르면 같은 이름을 가진 함수를 중복해서 만들 수 있다.

void foo(int x);
void foo(char c);

void foo(float x);
void foo(int x, int y);

void foo(int x);
void foo(int x, int y=0);

void foo(int x);
char foo(int x);



// 리턴 값만 다른 한수는 중복 정의 할 수 없다.(즉Overloading불가)
// 디폴트 파라미터가 있을 경우도 주의 해야 한다.

 #include <iostream>
using namespace std;

int square(int x){return x*y;}
double square(double x){return x*x;}

void main()
{
    int n = 5;
    double d = 3.4;
 
    cout << square(n) << endl;
    cout << square(d) << endl; 
}

'Programming > C++' 카테고리의 다른 글

Namespace  (0) 2010.07.12
* Inline Function  (0) 2009.11.20
* Overloading 된 함수 찾는 순서  (0) 2009.11.19
* Default Parameter  (0) 2009.11.19
* Return By Reference  (0) 2009.11.18
Posted by 어북어위크