1

とても簡単な質問ですが、答えがわかりません。

   class a
   {
    public:
    enum xxx {one, two}
   }

   class b
   {
    //cant inherit from a
    //what I want to do is:
    xxx object = one;
   }

クラスbで列挙型を認識させるにはどうすればよいですか? もちろん、両方のクラスで宣言できますが、それはクリーンではありません。私が言ったように、これらの 2 つのクラスはまったく異なることを行い、独立している必要があるため、継承できません。

4

2 に答える 2

4

スコープ解決演算子:

a::xxx object;
于 2013-01-28T20:04:51.203 に答える
2

公開されているため、完全修飾名でアクセスできるはずです。

a::xxx object;

値は、 などと同じように使用されますa::onea::two

編集:インライン初期化を実行できるかどうかについての他の回答については、コメントのディスカッションを参照してください。

于 2013-01-28T20:04:30.707 に答える