ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [cpp] namespace
    C++(cpp) 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이 하는 말
    비타민 드실래요?

     

    'C++(cpp)' 카테고리의 다른 글

    [cpp] 함수 오버로딩, 생성자, 디폴트 생성자  (0) 2021.06.21
    [cpp]객체, 클래스, 접근 제어자  (0) 2021.06.21
    [cpp] new, delete  (0) 2021.06.21
    [cpp] 참조자(&)  (0) 2021.06.21
    [Cpp modules] cpp 개념 탑재하기  (0) 2021.06.21

    댓글

Designed by Tistory + Edited by Juepark