why we cannot create object of abstract class in c++