an abstract class is a class that says what a class has to do but does not define how to do. it cannot be instantiated and an abstact class has atleast one one abstract method.
Sometimes in the desin it would require that object of a base class should not be created.But only use thee base class pointer for upcasting purpose.This is accomplished by making that class abstract which happens if you give it at least one pure virtual function.When an abstract class is inherited all pure virtual functions must be implemented or the inherited class becomes abstract as well.At the same time a pure virtual function forces inherited classes to provide a definition for it.
Sometimes in the desin it would require that object of a base class should not be created.But only use thee base class pointer for upcasting purpose.This is accomplished by making that class abstract which happens if you give it at least one pure virtual function.When an abstract class is inherited all pure virtual functions must be implemented or the inherited class becomes abstract as well.At the same time a pure virtual function forces inherited classes to provide a definition for it.