ich verstecke gerne gewisse Implementierungs-Details in Klassen. Beispielsweise habe ich eine Klasse AssetManager welches die öffentlichen Methoden zur Verfügung stellt. Davon abgeleitet habe ich eine Klasse AssetManager::Impl, welche die interne Implementierung enthält.
In AssetManager habe ich dann Methoden, die an AssetManager::Impl weiterleiten. Zum Beispiel so:
Code: Alles auswählen
bool AssetManager::isAssetLoaded(const std::string & rFilePath) const
{
const Impl & rImpl = static_cast<const Impl &>(*this);
return rImpl.isAssetLoaded(rFilePath);
}
inline bool AssetManager::Impl::isAssetLoaded(const std::string & rFilePath) const
{
return irgendwas;
}
Ich würde ja selber nachschauen, aber die Assembler-Listings sind mir mittlerweile zu komplex geworden.