Методы копирования из члена

У меня есть простой, низкоуровневый контейнерный класс, который используется более высокоуровневым файловым классом. По сути, файловый класс использует контейнер для локального хранения изменений перед сохранением окончательной версии в фактическом файле. Поэтому некоторые методы переносятся непосредственно из класса контейнера в класс файла. (Например, 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
задан Maxpm 9 May 2011 в 23:28
поделиться