2012-10-13 2 views
0

main 기능이 포함 된 program.cpp이 있습니다. main 함수에 사용되는 클래스 Tracker이 있습니다. program.cpp에는 많은 유틸리티 기능 (예 : 프로그램에 인수로 전달 된 파일이 있는지 확인하는 기능)이 포함되어 있습니다. 이 유틸리티 함수를 program.cpp 밖으로 이동하고 싶습니다. ,유틸리티 기능을 넣을 곳

  • 는 그들이, utils.h에 프로토 타입을 넣어 기능을 포함 utils.cppprogram.cpp 내부 utils.h을 포함 g++ ... program.cpp utils.cpp
  • 또는, 아니 개인 회원 utils.h 클래스를 만들기로 그냥 컴파일 : 나는이 작업을 수행하는 방법 당신이 거라고 경우 클래스를 생성 할 이유가 없습니다 utils.cpp에이를 구현하고 Utils utils; utils.stuff(...);
+1

그것은 완전히 당신의 결정에 달려 있습니다. 어느 쪽도 기술적으로 더 나은 것은 아닙니다. –

+0

또는 계획 C, 네임 스페이스가 필요할 경우 네임 스페이스. 당신을 위해 열려있는 많은 옵션들이 있습니다. 아무도 정말로 더 좋거나 나쁘지 않습니다. – WhozCraig

답변

4

program.cpp에서 사용, public으로 모든 기능을 가지고 있습니다 필요하지 않습니다 (특히 관련이없는 몇 가지 함수에 대한 클래스가 아닙니다). 첫 번째 옵션을 선택하고 함수 프로토 타입을 util.h에있는대로 선언합니다.

+0

클래스에 유리하다고 생각할 수있는 유일한 것은'utils.stuff (...);에 대한 소스를 말하는 것이 더 쉬울 수도 있다는 것입니다. – zoran119

+0

@ zoran119 : IDE는 함수를 호출 할 때 함수의 정의로 즉시 이동할 수 있어야합니다. 그래서 당신은 그것이 어디에 있는지 생각할 필요가 없습니다. 2 백만 줄의 다른 코드를 다루는 경우 모든 것이 어디에 있는지 기억하지 않을 것입니다. :) –

+1

이것은 네임 스페이스를 잘 사용합니다. 이것을 utils라는 네임 스페이스에 넣은 다음 utils :: stuff (...)로 참조 할 수 있습니다. – jcoder