Как правильно реализовать оболочку вокруг ОС? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как правильно реализовать оболочку вокруг ОС? [закрыто]

Сообщение Anonymous »

Предположим, у меня есть класс OS, который объявляет только интерфейс операционной системы.

Код: Выделить всё

struct OS {
virtual int read();
virtual int write();
virtual int open();
virtual int close();
/*   ... a lot of methods  */
};
Для этого интерфейса также существует расширение с дополнительными методами

Код: Выделить всё

struct OS_with_socks: OS {
virtual int socket();
virtual int bind();
virtual int listen();
/*   ... a lot of other methods   */
};
Кроме того, у меня есть класс act_OS, который определяет read() как ::read, write как ::write() и т.д. act_OS является производным от OS. Теперь я хочу определить класс actual_OS_with_socks, который делает то же самое, но для расширенного интерфейса ОС. Как правильно это сделать? Вот так?

Код: Выделить всё

struct actual_OS_with_socks: OS_with_socks, actual_OS {
/* implementation of methods socket, listen, bind, e.t.c */
}
Это хорошая практика? Можно ли избежать двойного наследования, сохраняя при этом разделение базового интерфейса POSIX и интерфейса сокета? Это правильный способ сделать это?
(Мне нужна оболочка ОС для целей тестирования)

Подробнее здесь: https://stackoverflow.com/questions/793 ... und-the-os
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»