C++(cpp)
[cpp] namespace
Jueun Park
2021. 6. 21. 14:40
일단 첫번째 프로그램 만들어서 컴파일 해보기
#include <iostream> // standard input, output
int main()
{
int sum;
sum = 0;
for (int i = 1; i <= 10; i++)
{
sum += i;
}
std::cout << sum ;
return (0);
}
컴파일:
g++ -o first first_program.cpp
./first
결과:
55
header를 만들어서 namespace를 공부해봅시다.
[ 상황 가정 ]
-> 서초에는 heom, taehokim, dongslee, jlee가 있습니다.
-> 개포에는 yekim, sumoon, yukim이 있습니다.
위 내용을 기반으로 짠 헤더 first_header.h
#include <iostream>
namespace seocho {
void jlee()
{
std::cout << "모르겠어요..ㅎㅎ" << std::endl;
}
void dongslee()
{
std::cout << "킹정.." << std::endl;
}
void taehokim()
{
std::cout << "아니에요~" << std::endl;
}
void heom()
{
std::cout << "아 너무 웃겨 ㅋㅋㅋㅋㅋㅋㅋ" << std::endl;
}
}
namespace gaepo {
void yekim()
{
std::cout << "아뭐야 -3-" << std::endl;
}
void sumoon()
{
std::cout << "🤘🏻👌🏻👍🏻👉🏻👐🏻🙌🏻👏🏻" << std::endl;
}
void yukim()
{
std::cout << "비타민 드실래요?" << std::endl;
}
}
namespace에 해당하는 함수를 호출하기
1. namespace 명시하기
`seocho` namespace에 있는 `jlee`가 무슨 말을 하고 있는지 출력해봅시다.
`gaepo` namespace에 있는 `yukim`은 무슨 말을 하고 있는지 출력해봅시다.
#include <iostream> // standard input, output
#include "first_header.h"
int main()
{
//namespace
std::cout << "서초에 있는 제이리가 하는 말:" << std::endl;
seocho::jlee();
std::cout << "개포에 있는 유킴이 하는 말:" << std::endl;
gaepo::yukim();
return (0);
}
결과창:
서초에 있는 제이리가 하는 말:
모르겠어요..ㅎㅎ
개포에 있는 유킴이 하는 말:
비타민 드실래요?
2. namespace를 일일이 써주기 귀찮을때(using)
using을 이용하면 namespace를 일일이 명시해주지 않고 함수이름만 써줄 수 있습니다.
다른 namespace의 함수는 namespace를 이전처럼 명시해주면 똑같이 쓸 수 있습니다.
#include <iostream> // standard input, output
#include "first_header.h"
using namespace seocho;
int main()
{
std::cout << "seocho의 jlee가 하는 말" << std::endl;
jlee();
std::cout << "seocho의 taehokim이 하는 말" << std::endl;
taehokim();
std::cout << "seocho의 heom이 하는 말" << std::endl;
heom();
std::cout << "gaepo의 yukim이 하는 말" << std::endl;
gaepo::yukim();
return (0);
}
결과창:
seocho의 jlee가 하는 말
모르겠어요..ㅎㅎ
seocho의 taehokim이 하는 말
아니에요~
seocho의 heom이 하는 말
아 너무 웃겨 ㅋㅋㅋㅋㅋㅋㅋ
gaepo의 yukim이 하는 말
비타민 드실래요?