An abstract class in C++ is a class that contains at least one pure virtual function and cannot be instantiated directly - meaning you cannot create objects of the abstract class type itself. However, you CAN create pointers/references to it, and you MUST derive from it to create objects of the derived classes. Option A is incorrect because abstract classes are designed to be inherited. Option D is wrong because abstract classes can inherit from other classes.