Ich glaube nicht, dass das "sauber" geht.
IMHO ist die beste Lösung (a.k.a das geringste Übel

), den "gewollten" Konstruktor privat zu machen sowie den unerwünschten geerbten zu überschreiben und als Implementierung eine
Exception zu schmeißen. Damit kriegst du zwar leider keinen Compilerfehler bei unerlaubter Benutzung, aber immerhin einen deutlichen Hinweis zur Laufzeit.