Abgeleitete Klasse und doppelete Dereferenzierung?

Guten Tag,

Ich habe folgendes Problem:

class a;

class b : public a;

func(a** pointerToPointerOnA);

Also ich habe zwei Klassen und eine Funktion. Ich möchte ganz gerne der Funktion ein Object vom Typ b unterjubeln, welches nichts anderes macht als eine Kollektion von a Objekten zu verwalten. Ich habe auch schon in der Klasse b den &operator überschrieben und gebe die Addresse von einem a Objekt aus der Kolletion zurück. Ich kann also folgendes machen:
a* b::operator&() const
{
return collection[0];
}

b myB;
a* myAPointer = &myB;

aber sobald ich die doppelte Dereferenzierung in der func machen muß hörts bei mir auf. Gibts da eine Möglichkeit für mich einen Pointer auf einen Pointer auf ein b Objekt zu übergeben? Oder geht das überhaupt?

Danke für jeden Tipp und Hinweis!

Grüße, Swen

Hallo

Ich habe folgendes Problem:
class a;
class b : public a;
func(a** pointerToPointerOnA);

Also ich habe zwei Klassen und eine Funktion. Ich möchte ganz
gerne der Funktion ein Object vom Typ b unterjubeln, welches
nichts anderes macht als eine Kollektion von a Objekten zu
verwalten.

Kapiere ich nicht. Wieso nicht:

 class a;
 class b {
 vector collection;  
 };  

Ich habe auch schon in der Klasse b den &operator
überschrieben und gebe die Addresse von einem a Objekt aus der
Kolletion zurück. Ich kann also folgendes machen:
a* b::operator&() const
{
return collection[0];
}

b myB;
a* myAPointer = &myB;

aber sobald ich die doppelte Dereferenzierung in der func
machen muß hörts bei mir auf. Gibts da eine Möglichkeit für
mich einen Pointer auf einen Pointer auf ein b Objekt zu
übergeben? Oder geht das überhaupt?

Sicher gibts das. Die Fage ist aber, ob
das nötig ist. Ohne die Problemstellung
konkret zu kennen, kann man das nicht
sagen.

Grüße

CMБ

Hallo

Ich habe folgendes Problem:
class a;
class b : public a;
func(a** pointerToPointerOnA);

Also ich habe zwei Klassen und eine Funktion. Ich möchte ganz
gerne der Funktion ein Object vom Typ b unterjubeln, welches
nichts anderes macht als eine Kollektion von a Objekten zu
verwalten.

Kapiere ich nicht. Wieso nicht:

class a;
class b {
vector collection;
};

In der func(a**) möchte ich halt nicht von b irgendeine Funktion aufrufen, die mir ein Object der Kollektion gibt, sondern ich möchte die Möglichkeiten der Vererbung nutzen. Ich möchte das ich Funktionen die entweder ein a, *a oder **a erwarten ich auch ein b, *b oder **b übergeben kann, ohne das die Funktion das mitbekommt. Also letzenendes eine Klassische Fassade.

Ich habe auch schon in der Klasse b den &operator
überschrieben und gebe die Addresse von einem a Objekt aus der
Kolletion zurück. Ich kann also folgendes machen:
a* b::operator&() const
{
return collection[0];
}

b myB;
a* myAPointer = &myB;

aber sobald ich die doppelte Dereferenzierung in der func
machen muß hörts bei mir auf. Gibts da eine Möglichkeit für
mich einen Pointer auf einen Pointer auf ein b Objekt zu
übergeben? Oder geht das überhaupt?

Sicher gibts das. Die Fage ist aber, ob
das nötig ist. Ohne die Problemstellung
konkret zu kennen, kann man das nicht
sagen.

Wie muß denn dann die Klasse b aussehen, damit ich Sie überall da nutzen kann wo a, *a oder **a erwartet wird?

Grüße

CMБ

Grüße und Danke schon mal für die Antwort,

Swen