ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Class 멤버 함수의 선언 및 정의 분리
    C++ 언어 2020. 4. 2. 19:16
    C 언어 C++
    (반환 자료형) (함수 식별자) (매개 변수) (반환 자료형) (해당 함수의 소속 : : 함수 식별자) (매개 변수)

     

    위의 자료는 C와 C++ 의 함수 선언시 기술해야 하는 내용을 표로 정리한 것이다. 기존의 C에서는 함수를 선언시 함수가 반환하는 자료형과 해당 함수의 이름 그리고 매개변수를 기술하면 함수가 선언된다.

    하지만 C++ 에서는 Name Space 개념의 등장에 따라 각 함수, 변수 등에게 소속이 생기며 만약 함수가 Name Space에 속해 있을 시 해당 Name Space를 기술하여야 한다. 

    class Test_func
    {
    public:
    	Test_func(){
    		nData = 50;
    	}
    	int nData = 10 ;
    
    	
    	void test_func(Test_func* test_p);
    };
    
    // C++ 에서 함수의 정의는 해당 함수가 속한 Name Space를 기술해야한다.
    // C => void test_func()   C++ => void Test_func::test_func()
    // 위와 같이 해당 네임스페이스를 기술하며 만약 무소속일시 (공백)::(함수명)
    // 위와 같이 작성한다.
    void Test_func::test_func(Test_func* test_p){
    	std::cout << "Test Functuon : " << test_p->nData << std::endl;
    }

     위와 같이 Test_func Class의 멤버로 test_func 함수가 선언 되어 있으며 해당 함수를 만약 외부에서 정의 하려고 할 경우 해당 함수의 Name Space를 기술하여야 한다 따라서 " Test_func :: test_func " 와 같이 기술한다.

    'C++ 언어' 카테고리의 다른 글

    복사생성자  (0) 2020.04.06
    생성자 함수와 소멸자 함수  (0) 2020.04.02
    Class의 생성 과정  (0) 2020.03.31
    함수 템플릿과 인라인 함수  (0) 2020.03.30
    참조자의 내부 동작  (0) 2020.03.27

    댓글

Designed by Tistory.