Gibt es sowas wie eine abstrakt enumeration?
-
Ich hab eine Klasse Telegram, zur Initialisierung muss man im ctor übergeben um was für ein Telegramm es sich handelt, also z.B. Telegram::MyTelegram.
Jetzt würde ich aber gerne eine Unterteilung zwischen Client- und ServerTelegrammen haben, hatte da an Vererbung gedacht und jede abgeleitete Klasse müsste halt diese Enumeration anbieten.Geht sowas überhaupt?
-
Hallo
die abgeleiteten Klassen können auch ohne Änderungen auf die enum-Definition zurückgreifen, wenn diese min. protected ist
bis bald
akari
-
akari schrieb:
Hallo
die abgeleiteten Klassen können auch ohne Änderungen auf die enum-Definition zurückgreifen, wenn diese min. protected ist
bis bald
akariMein Gedanke war aber folgendes (kam vielleicht nicht gut rüber
):
Es gibt verschiedene Telegramme, welche für die Serverseite und welche für die Clientseite und welche für beide Seiten. Die Klasse Telegramm zeichnet sich dadurch aus, dass sie genau eines der Telegrammtypen repräsentiert.
Die Typen für beide Seiten sollen in einer Enumeration in der Basisklasse enthalten seind:Base(Base::Type t)Man wird gezwungen den Typ anzugeben wenn man ein Objekt/ eine Instanz vom Typ Telegram anlegt, also z.B.
new Telegram(Telegram::WantData)Jetzt sollen davon ServerTelegram und ClientTelegram erben, mit jeweils einer eigenen Enumeration Type, deren Aufzählungselemente dann dem Basiskonstruktor übergeben werden können.
Geht das irgendwie? Mir fällt da nichts zu sein

-
Übergib einen int-Wert an deinen Ctor, der ist (weitgehend) kompatibel zu beliebigen enum-Typen.