Hallo Leute,
ich habe ein Problem mit mehrfach Vererbung. Folgendes ist gegeben:
class Logging
{
public:
Logging(string name);
…
void log(string text);
}
class Daemon rivate Logging
{
Daemon(string appName);
int daemonize();
}
Daemon:aemon(string appName)
Logging(„daemon obj“)
{
…
}
Soweit eigentlich kein Problem. Logging Klasse ist für loggen zuständig und Daemon Klasse fürs erzeugen eines Daemons (Linux).
Nun habe ich eine dritte Klasse die sowohl von Daemon als auch von Logging erben sollte. Da diese eigene Logeinträge erzeugen soll und daemonisiert werden soll.
Also:
class Application : public Daemon, private Logging
{
Application();
}
Application::Application()
:Logging(„Application obj“), Daemon(„XYZ“)
{
…
log(„constructor“);
}
Und genau hier habe ich ein Problem. Da Logging nun zwei mal in Application da ist, ist es nicht mehr eindeutig welche log Funktion aufgerufen werden soll.
Mein Frage ist wie löse ich dieses Problem? (Ich habe keine Möglichkeite die Logging und Daemon Klassen zu ändern!)
Danke im Voraus!
Gruß
Andreas
PS: Ich kompiliere mit dem g++
[MOD]: Schreibfehler in Titel verbessert