2012-11-16 3 views
0

C++ stl 프로젝트에서 String.cpp 및 String.h를 사용하여 String 클래스를 만들 수 있습니까? 클래스가 힘 줄stl C++ 프로젝트의 문자열 클래스

+2

특별히 어떤 컴파일 오류가 있습니까? – Dan

+1

'static class ...'는 자신이 생각하는 것을하지 않습니다 (그러나 문제와 관련이 없습니다). 그 외에도 정적 메서드를 가진 클래스를 갖는 것은 C++에서 나쁜 스타일입니다. –

+0

@ KonradRudolph 또한이 특별한 경우에 유용합니다. 향상된 문자열 조작을 위해 클래스에 그룹화 된 메서드 (정적 메서드 만 포함) 추가. 저와 제 동료는 이에 대한 추가 네임 스페이스 (Common :: Utilities에 포함 된 클래스)를 소개하고 싶지 않았습니다. 또한 우리는 기본 생성자와 private 클래스와 같은 클래스의 소멸자를 선언하여 '정적'이라고 명확히했습니다. –

답변

4

정적 멤버 만 사용하는 클래스 대신 C++에서 네임 스페이스를 사용합니다.

#include <string> 

namespace String { 
    std::string Replace(const std::string& str, const std::string& oldValue, const std::string& newValue); 
}; 
3

같은 다른 뭔가로 이름이 변경되지 않는 한

String.h 

#include <string> 
class String { 
public: 
    static std::string Replace(const std::string& str, const std::string& oldValue, const std::string& newValue); 
}; 

당신은 클래스 선언에서 정적을 제거하고 게시 된 코드는 다음 잘 작동 할 필요가 컴파일 오류가 있습니다.

+0

첫눈에 그 점을 발견하지 못했습니다. 이것은 아마도 옳은 대답 일 것입니다. –

+0

미안하지만 내 실수입니다. 원래 파일에 정적이 없습니다 –

+0

그래서 오류를 게시하십시오;) –