Hi Thorsten,
erst einmal vielen Dank für die Antwort.Hat schon neue einblicke in C++ gegeben 
Das Buch habe ich mir gezogen, mal schaun wann sich die Zeit findet rein zu schauen.
Mein Problem ist folgendes:
Ich soll einen Druckertreiber (Thermotransferdrucker) schreiben, der Daten entgegen nimmt und sie in das Script des Druckers „übersetzt“.
Es gibt hier z.B. Textfelder und Barcodes und einer unvorhersehbaren Menge.
Die Treiber sollen für verschiedene Druckertypen eingesetzt werden. Also entsanden einige Klassen die das Grundbedürfniss
decken, die alle Drucker haben.
Davon habe ich wiederum eine Spezialisierung für Zebradrucker vorgenommen.
Ein Object - zebra_object_print - liest die Daten ein und ermittelt den Typ des Objektes das durch den Drucker gedruckt werden soll. (Hier hilft mal eine switch() weiter)
In einer Liste, die Zeiger des Grundobjektes aufnehmen kann (inkl. virtuelle Funktionen) erstellt die Objekte und füllt sie mit allem was man am Anfang benötigt.
So weit alles o.k.
Es gibt nun aber Daten die ich innerhalb des zebra_object_print global brauche, weil der Barcode z.B. wissen muß in welche richtung
der lezte BC gedruckt wurde, oder das Textfeld wissen muß, welche Sprache zu letzt gedruckt wurde, oder welche Trennzeichen zu
verwenden sind.
(Beim schreiben dieses Textes ist mir ein Designfehler aufgefallen - danke schon mal
Kann noch was mit noch einer weiteren
Vererbung retten).
Das Grundobject hat z.B. die Routine virtul string createSource(void *) = 0;
Zebra_Object_Text enthält die gleiche Routine.
Zebra_Object_Text braucht noch Daten und Funktionen von Zebra_Object_Print um zu Funktionieren und da will ich möglichst sauber
rann. Wenn ich dem vererbten Object den void * durch Zebra_Object_Print & ersetze, mosert der Compiler rum, weil ich eine virtuelle
Funktion verdecke.
Vererben geht dabei nicht (denk ich mal) weil Zebra_Object_Print total unterschiedliche Objecte handelt.
Die Klassen in Zebra_Object_Print zu nehmen macht in meinen Augen keinen Sinn weil ich unterschiedliche Anzahl an BC oder
Textfeldern brauche.
Die lezte Möglichkeit (Da wo Du ein beispiel gemacht hast) geht (denk ich) um die casts los zu werden.
Könntest Du mir etwas dazu sagen, das der Compiler
class a; vor definition von der Klasse akzeptiert ?
Ist diese Variante Portabel ?
TNX schon mal für bisherige mühen