сделай что-нибудь. Мой пример был упрощен ради вопроса.
я есть простой контейнерный класс низкого уровня, который используется файловым классом более высокого уровня. По сути, класс файла использует контейнер для локального хранения изменений перед сохранением окончательной версии в реальном файле. Поэтому некоторые методы переносятся непосредственно из класса контейнера в класс файла. (Например,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.
}
}