Inheritance allows classes to inherit attributes and behaviors from other classes. In C++, a derived class inherits from a base class. The derived class inherits all public and protected members of the base class and can add additional members or override inherited members. Constructors and destructors are not inherited, so derived classes must define their own. When a derived class object is instantiated, the base class constructor is called first to initialize the base portion, followed by the derived portion.