2012-03-20 4 views
2

누군가가 약간의 문제로 나를 도울 수 있기를 바랬는데 C++에서 이해하는 데 어려움이 있습니다.사용자 지정 반환 형식 선언

같이 내가 헤더 파일 (Example.h)의 클래스 내에서 개인 열거를 만드는 경우 아래 : 다음

class Example 
{ 
    private: 
     enum ValueType 
     { 
      INTEGER, 
      BOOLEAN, 
      BLOB, 
      UNKNOWN 
     }; 
} 

것은 내가 소스 파일에서 (개인 방법)이 값에 액세스 할 수있는 것은 수하는 방법 반환 유형 (Example.cpp)으로 사용

#include "Example.h" 

... 

ValueType // <-- How can I declare this correctly? compiler complains 
Example::returnMyType(const ValueType p_valueType) 
{ 
    switch(p_valueType) 
    { 
     case INTEGER; 
     return "INTEGER"; 
     break; 
    ... 
    ... 
} 

반환 유형으로 선언하는 방법을 모르겠습니다.

나는이 기능이 무의미하다는 것도 알고 있지만 이해하려고 노력하는 개념을 설명하기위한 것입니다.

스위치 통계에서이 값에 어떻게 액세스 할 수 있을지 궁금합니다. 멤버 함수를 정의하고 멤버 함수에서 때입니다

Example::ValueType Example::returnMyType(const ValueType p_valueType) 
{ 
    //... 
} 

, 당신은 클래스 외부에서 Example::ValueType을 사용했습니다 :

#include "Example.h" 

... 

ValueType // <-- How can I declare this correctly? compiler complains 
Example::returnMyType(const ValueType p_valueType) 
{ 
    switch(p_valueType) 
    { 
     case Example::BLOB; // <-- Is this how to access 
     return "INTEGER"; 
     break; 
    ... 
    ... 
} 
+0

예 모두가 개인입니다. –

답변

5

당신은 같은 것을 작성해야합니다.

- 귀하의 코멘트에서

:

I see, it the enum were public would this also be the case?

예. public 또는 private이면 문제가되지 않습니다.

접근성 (공공, 보호 및 개인)는 단지가 액세스 할 수있는 , 그것은 접근 방법 결정하지 않는 결정합니다.

+0

이 열거 형은 공개 되었습니까? –

+0

@aliaserror : 예. 공개인지 사적인지는 중요하지 않습니다. '공개'또는 '비공개'는 누가 액세스 할 수 있는지 ** 결정합니다 ** 액세스 방법 **을 결정하지 않습니다. – Nawaz

+0

정말 고마워요. –