An abstract class is a class that cannot be instantiated and is typically used as a base class. It contains one or more pure virtual functions, making it an incomplete class. Derived classes must implement these pure virtual functions to become concrete classes.
Example:
class AbstractClass {
public:
virtual void display() = 0; // Pure virtual function
};
class ConcreteClass : public AbstractClass {
public:
void display() {
cout << "Concrete Class" << endl;
}
};
int main() {
ConcreteClass obj;
obj.display(); // Output: Concrete Class
return 0;
}