Quand je remplace, dans le main :
propertyBase *a = new property<int>[100] ;
par
property<int> *a = new property<int>[100] ;
Ca fonctionne...
Peut-être un problème au niveau des destructeurs virtuels, c'est la première fois que je m'en sers, mais j'ai rien trouvé de très précis ni avec Google, ni dans mes 2 bouquins de 500 pages :/