cpp: Add virtual destructor