-
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