Herencia (C++)

En esta sección se explica cómo utilizar clases derivadas para crear programas extensibles.

Información general

Se pueden derivar nuevas clases de clases existentes al usar un mecanismo denominado “herencia” (vea la información que aparece en Herencia simple). Las clases que se utilizan para la derivación se conocen como "clases base" de una clase derivada determinada. Una clase derivada se declara mediante la sintaxis siguiente:

class Derived : [virtual] [access-specifier] Base
{
   // member list
};
class Derived : [virtual] [access-specifier] Base1,
   [virtual] [access-specifier] Base2, . . .
{
   // member list
};

Detrás de la etiqueta (nombre) de la clase, aparece un carácter de dos puntos seguido de una lista de especificaciones bases. Las clases base designadas de esta forma deben haberse declarado previamente. Las especificaciones base pueden contener un especificador de acceso, que es una de las palabras clave public, protected o private. Estos especificadores de acceso aparecen delante del nombre de la clase base y solo se aplican a esa clase base. Estos especificadores controlan el permiso de la clase derivada para su uso en miembros de la clase base. Consulte Control de acceso a miembros para obtener información sobre el acceso a miembros de la clase base. Si se omite el especificador de acceso, el acceso a la base se considera private. Las especificaciones base pueden contener la palabra clave virtual para indicar herencia virtual. Esta palabra clave puede aparecer delante o detrás del especificador de acceso, si hay alguno. Si se usa la herencia virtual, la clase base se conoce como clase base virtual.

Se pueden especificar varias clases base, separadas por comas. Si se especifica una única clase base, el modelo de herencia es Single inheritance. Si se especifica más de una clase base, el modelo de herencia se llama Multiple inheritance.

Se tratan los siguientes temas:

Las palabras clave __super e __interface se documentan en esta sección.

Consulte también

Referencia del lenguaje C++