Здравствуйте, VladEC, Вы писали:
VEC>Да, на таком варианте и остановились.
VEC>Изначально не хотели делать "масло масляное", т.к. очевидно, что IWriter::SetPosition() управляет курсором по записи, а IReader::SetPosition() — по чтению.
Можно сделать набор перегруженных функций
void SetPosition( IReader*, int newPos );
void SetPosition( IWriter*, int newPos );
void SetPosition( IStorage*, int newPos );
в которых уже нужные методы и звать, а в коде использовать толкьо редиректоры.
Методы, кстати, можно сделать приватными, а редиректоры -- друзьямИ, но я бы такой ерундой страдать не стал.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском