Abstract class in Cpp