0

次のようなクラスがあります(詳細は削除されています):

class MyClass{
        int seq[8];
        ...
    public:
        ...
        static struct{
            bool sorted();
            bool reverse_sorted();
            ...
        }test;
};

私がやろうとしているのは、いくつかのMyClassメンバー関数を素敵な小さなグループ (構造体) に分割することです。問題は、「テスト」構造体の関数が のメンバーにアクセスする必要があることですMyClass

上記のコードを使用すると、定義できますが、期待していたように名前空間bool sorted(){..}の一部にはなりません。MyClass

私の意図は、次のようなものを書くことができるようにすることです:

MyClass M;

*do stuff with M*

if( M.test.sorted()){
    *do something*
}
else if( M.test.reverse_sorted()){
    *do something else*
}

このようなことが可能な方法はありますか?(どのように) 内部構造体がクラスのデータ メンバーにアクセスできるようにできますか? MyObject.test.function()&& " " 構文で関数にアクセスできますか?

4

2 に答える 2

0

シンプルなものを使用することをお勧めします:

class MyClass
{
        int seq[8];
        ...
    public:
        ...

        bool group1_sorted();
        bool group1_reverse_sorted();

        int  group2_something_else();
};

すべての問題が魔法のように消える間、接頭辞は十分なハイライトを提供します...なぜこれらの構造体が必要なのですか?

于 2013-07-12T08:12:43.320 に答える