Was ist der richtige Weg, um einen Wrapper um das Betriebssystem herum zu implementieren? [geschlossen]C++

Programme in C++. Entwicklerforum
Guest
 Was ist der richtige Weg, um einen Wrapper um das Betriebssystem herum zu implementieren? [geschlossen]

Post by Guest »

Angenommen, ich habe eine Klasse „Betriebssystem“, die nur eine Schnittstelle für das Betriebssystem deklariert.

Code: Select all

struct OS {
virtual int read();
virtual int write();
virtual int open();
virtual int close();
/*   ... a lot of methods  */
};
Es gibt auch eine Erweiterung für diese Schnittstelle mit mehr Methoden

Code: Select all

struct OS_with_socks: OS {
virtual int socket();
virtual int bind();
virtual int listen();
/*   ... a lot of other methods   */
};
Außerdem habe ich eine Klasse „actual_OS“, die read() als ::read, write als ::write() usw. definiert. „actual_OS“ wird von „OS“ abgeleitet. Jetzt möchte ich die Klasse „actual_OS_with_socks“ definieren, die dasselbe tut, jedoch für eine erweiterte Betriebssystemschnittstelle. Was ist der richtige Weg, dies zu tun? So?

Code: Select all

struct actual_OS_with_socks: OS_with_socks, actual_OS {
/* implementation of methods socket, listen, bind, e.t.c */
}
Ist das eine gute Vorgehensweise? Kann eine doppelte Vererbung vermieden werden, während die Trennung zwischen der grundlegenden POSIX-Schnittstelle und der Socket-Schnittstelle beibehalten wird? Ist das überhaupt der richtige Weg, dies zu tun?
(Ich benötige den OS-Wrapper zu Testzwecken)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post