2012-03-20 9 views
2

私はC++での理解に問題があります。カスタム戻り値の型宣言

以下に示すようにIは、ヘッダファイル(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?

はい。 publicprivateかどうかは関係ありません。

アクセシビリティ(公共プライベートを保護)のみを決定がアクセスを許可されている人、それはアクセスに方法を決定するものではありません。

+0

私はそれがenumで公開されているのを見ましたか? –

+0

@aliaserror:はい。公的であれ非公式であれ、それは問題ではありません。 'public'または' private'は**誰がアクセスすることができるかを決定するだけです**アクセス方法は決まっていません。 – Nawaz

+0

ありがとうございます –

関連する問題