2011-08-09 5 views
34

최근 Java 용 C++에서 옮겼지만 지금은 응용 프로그램을 작성할 때 주 기능에서 코드의 모든 것을 작성하는 데 관심이 없습니다. 주 기능에서 다른 기능을 호출하려고하지만 다른 기능은 다른 .cpp에 있습니다. 파일. C++ 프로그램에서 여러 .cpp 파일 사용?

당신이 이해하지 못할 경우 나 더 설명해 보자
나는 하나 개의 파일을 가지고 그 안에 main.cpp 내가 주요 기능을 가지고있다.

나는 두 번째 파일이 있습니다 second.cpp 내가 내 주요 기능에서 second()이라는 함수를 호출 할 second()라는 기능 ..

어떤 도움이 내부에?

+7

아, 헤더 파일의 기쁨은 ...... –

+6

당신은 [좋은 입문 책]에서 C++를 배우고 (http://stackoverflow.com/q/388242/46642)? –

+1

글쎄, 헤더 파일이 답 이니, 그걸 알고 있기 때문에 잘못하고있는 것이 명확하지 않습니다. 게시 한 코드와 오류를 게시하십시오. 그렇지 않으면 우리는 추측하고 있습니다. – john

답변

50

"헤더"도구를 사용해야합니다. 헤더에서 사용할 함수를 선언하십시오. 그런 다음 두 파일에 모두 포함시킵니다. 헤더는 #include 지시문을 사용하여 포함 된 별도의 파일입니다. 그런 다음 다른 기능을 호출 할 수 있습니다.

// other.h 
void MyFunc(); 

// main.cpp 
#include "other.h" 
int main() { 
    MyFunc(); 
} 

// other.cpp 
#include "other.h" 
#include <iostream> 
void MyFunc() { 
    std::cout << "Ohai from another .cpp file!"; 
    std::cin.get(); 
} 
+2

@TheCompBoy : 질문하기 전에 철저히 대답을 찾았나요? http://stackoverflow.com/questions/how-to-ask – Vlad

+0

.h 파일의 목적을 자세히 설명해 줄 것을 요청할 수 있습니까? other.cpp 파일에 언급되지 않은 정보가 들어있는 것 같습니다. –

5

헤더 파일 (* .H)이 있습니다. 거기에서 함수/클래스를 선언합니다. 예를 들어 main.cpp 파일에 #include "second.h"을 입력해야합니다. second.h에서

그냥 second.cppvoid yourFunction(); 같이 선언 당신은 또한이 도움이 second.cpp

희망의 시작 부분에 #include "second.h"하는 것을 잊지 마세요

void yourFunction() { 
    doSomethng(); 
} 

처럼 구현 :

12

함수의 선언을 포함하는 헤더 파일 (.h)이 있어야하고 d를 포함하는 해당 .cpp 파일이 있어야합니다 efinition. 그런 다음 필요할 때마다 헤더 파일을 포함시킵니다. 정의가 들어있는 .cpp 파일에도 헤더 파일이 포함되어 있어야합니다.

// main.cpp 
#include "second.h" 
int main() { 
    secondFunction(); 
} 

// second.h 
void secondFunction(); 

// second.cpp 
#include "second.h" 
void secondFunction() { 
    // do stuff 
} 
관련 문제