сделай что-нибудь. Мой пример был упрощен ради вопроса.

я есть простой контейнерный класс низкого уровня, который используется файловым классом более высокого уровня. По сути, класс файла использует контейнер для локального хранения изменений перед сохранением окончательной версии в реальном файле. Поэтому некоторые методы переносятся непосредственно из класса контейнера в класс файла. (Например,Resize().)

Я только что определил методы в классе файла для вызова их вариантов класса контейнера. Например:

void FileClass::Foo()
{
    ContainerMember.Foo();
}

Это, однако, становится неприятным. Есть лучший способ сделать это?

Вот упрощенный пример:

class MyContainer
{
    // ...

    public:

    void Foo()
    {
        // This function directly handles the object's
        // member variables.
    }
}

class MyClass
{
    MyContainer Member;

    public:

    void Foo()
    {
        Member.Foo();

        // This seems to be pointless re-implementation, and it's
        // inconvenient to keep MyContainer's methods and MyClass's
        // wrappers for those methods synchronized.
    }
}

Ответы на вопрос(5)

Ваш ответ на вопрос