Abstract Classes Separating interface from implementation is useful In C++ this can be done with abstract classes An abstract class is a class with at least one pure virtual method Can still have normal methods and variables Can't create objects of abstract classes