Beispiel

class MyClass {
public:
MyClass(){
logCreation();
}

virtual void logCreation() const = 0 ;
};

Lösung
Statt virtuelle Funktionen aufzurufen, machen Sie die Funktion zu einer nicht virtuellen Funktion, und übergeben Sie dann Parameter aus Basisklassen, um das gewünschte Verhalten zu definieren.

class MyClass {
public:
explicit MyClass(const string& log){
logCreation(
log);
}

void logCreation(
const string& log) const;
};