#1 Koudis
Mám dojem, že na konstruktor se tohle nevztahuje vůbec, pokud vytvoříš třídu, kde bude aspoň jedna virtuální funkce, tak jí potomek musí přepsat, ale u konstruktoru to tak není... ono paradoxně instance z abstraktní třídy vytvořit jde, ale pouze jako pointer (mám dojem, že bez alokace), k tomu je třeba ten konstruktor v abstraktní třídě
Hlavně abstraktní třídy by imho neměli mít konstruktory ani, když v jiným jazyku vytváříš rozhraní, tak tam taky nejsou (v C++ rozhraní nejsou, takže se to řeší přes třídy s čistě virtuálníma funkcema)
Řešení: místo konstruktoru vytvoř např.virtuální funkci "init" jako void, kterou budeš volat v každým konstruktoru v odvozený třídě