code/C++

[C++] 오버로딩- 명시적 로딩

shallot 2017. 4. 20. 13:43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
    오버로딩: 동일한 함수명으로 여러개의 함수를 제공,
    조건: 매개변수의 갯수가 다르거나 타입이 다를 경우만 가능.
          const member function과 일반 멤버 함수일 경우에는 모양이 같아도 됨.(구별 가능)
    목적: 사용자가 여러개의 기능을 다 알 필요가 없다.(하나만 알면 됨)
*/
 
#include<iostream>
 
using namespace std;
 
void disp(int a);
void disp(float c);
void disp(char d);
void disp(int a,int b);
 
void main(){
    int a=1;
    int b=3;
    float c=3.2f;
    char d='A';
 
    disp(a); //명시적 오버로딩
    disp(c);
    disp(d);
    disp(a,b);
}
 
void disp(int a){
    cout<<a<<endl;
}
 
void disp(float c){
    cout<<c<<endl;
}
 
void disp(char d){
    cout<<d<<endl;
}
void disp(int a,int b){
    cout<<a<<"\t"<<b<<endl;
}