A mio avviso il modo più semplice è parametrizzare la funzione.
che però ha lo svantaggio di dover implementare la funzione nell'header file.codice:template <typename T> NomeClasse::getProperties(std::vector<T>& vec);
Un secondo modo è di creare un adapter che prende al costruttore il vector che ti interessa e lo riempie con un metodo apposito nella funzione getProperties().
Un terzo modo è illustrato qui:
http://www.eptacom.net/pubblicazioni/pub_it/nl_7.html
però lo trovo parecchio contorto (e potenzialmente poco efficiente).
Magari se posti il codice della getProperties() si può dire qualcosa in più.