virtual function tagging for c++