Wenn es vollkommen frei wählbare Klassen sein sollen, wirst Du um
RTTI kaum herumkommen, und die abzufragenden Eigenschaften müssen auch noch published sein. Handelt es sich dagegen um eigene Klassen, könntest Du sie ja von einer Basisklasse ableiten, die eine entsprechende virtuelle Methode einführt, die man in den abgeleiteten Klassen passend überschreiben könnte.