본문 바로가기
개인 공부/열혈 C++ 프로그래밍

이름공간(namespace)

by GuYou 2020. 8. 24.

이름공간은 기본 원리는 예를 들어보자

 

201호의 철수202호의 철수가 있다.

 

둘의 이름은 같은 철수이기 때문에 철수라고만 부르면 어디에 사는 철수인지 알 수 없기 때문에

 

***호에 사는 철수라 부르면 구분을 할 수 있다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
 
namespace Number1
{
    void SampleFunc(void)
    {
        std::cout<<"Number1의 함수"<<std::endl;
    }
}
 
namespace Number2
{
    void SampleFunc(void)
    {
        std::cout<<"Number2의 함수"<<std::endl;
    }
}
 
int main(void)
{
    Number1::SampleFunc(void);
    Number2::SampleFunc(void);
    return 0;
}
cs

위와 같이

Number1의 SampleFunc함수와

Number2의 SampleFunc함수가 있습니다.

 

둘의 함수명은 같지만 다른 이름공간(namespace)에 있기 때문에 문제가 되지 않습니다.

 

호출할 때도 "Number1::SampleFunc(void)", "Number2::SampleFunc(void)" 와 같이 각각의 함수를 호출해 

 

21행의 결과는 "Number1의 함수"

22행의 결과는 "Number2의 함수"가 호출됩니다.

 

'개인 공부 > 열혈 C++ 프로그래밍' 카테고리의 다른 글

참조자 (Reference)  (0) 2020.08.26