Inheritance allows classes to inherit properties from other classes, making code reuse and maintenance easier. There are several types of inheritance in C++. Public inheritance allows derived classes to access public and protected members of the base class. Protected inheritance makes public and protected base class members protected in derived classes. Private inheritance makes public and protected base members private in derived classes. Common inheritance types include single inheritance, multilevel inheritance, multiple inheritance, hierarchical inheritance, and hybrid inheritance.