Hab von meine Prof die Aufgabe bekommen einen BBaum mit Key/Value-Paaren zu implementieren.
Dazu soll der Index Operator überladen werden.
Das ist ja eigentlich kein Problem, nur soll das ganze rekusiv implementiert werden.
Hab mir das so vorgestellt:
|
C Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
const char * Baum::operator[](const char *key)
{
static Blatt *hilfszeiger = anker;
if (hilfszeiger)
{
if (strcmp(key, hilfszeiger->schluessel) == 0)
{
return hilfszeiger->wert;
}
else
{
if (strcmp(key, hilfszeiger->schluessel) < 0)
{
hilfszeiger = hilfszeiger->links;
//rekursiver Aufruf
}
else
{
hilfszeiger = hilfszeiger->rechts;
//rekursiver Aufruf
}
}
}
return 0; //nur damit die Warnung verschwindet
}
|
Wie rufe ich den Operator rekursiv auf???
Logisch (für mich???) wäre: this[key], aber das funktioniert nicht.
Also was muss in die Zeile '//rekursiver Aufruf' ?