Copiando Métodos do Membro

Eu tenho uma classe de contêiner simples e de baixo nível usada por uma classe de arquivo de mais alto nível. Basicamente, a classe de arquivo usa o contêiner para armazenar modificações localmente antes de salvar uma versão final em um arquivo real. Alguns dos métodos, portanto, são transferidos diretamente da classe de contêiner para a classe de arquivo. (Por exemplo,Resize().)

Acabei de definir os métodos na classe de arquivo para chamar suas variantes de classe de contêiner. Por exemplo

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

Isso está, no entanto, se tornando um incômodo. Existe uma maneira melhor de fazer isso

Aqui está um exemplo simplificado:

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.
    }
}

questionAnswers(5)

yourAnswerToTheQuestion