Información general de clases derivadas
Las nuevas clases pueden derivar de clases existentes utilizando un mecanismo denominado “herencia” (vea el principio de la información de Herencia simple).Las clases que se utilizan para la derivación se conocen como “clase " 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
};
Después de la etiqueta (nombre) para la clase, dos puntos aparece seguida de una lista de especificaciones bases.Las clases base de modo que denominado deben haberse declarado previamente.Las especificaciones bases pueden contener un especificador de acceso, que es una de las palabras clave Público, protected o private.Estos especificadores de acceso aparecen antes del nombre de la clase base y solo se aplican a esa clase base.Estos especificadores controlan el permiso de la clase derivada para usar miembros de la clase base.Vea Control de acceso a miembros para obtener información sobre el acceso a los miembros de la clase base.Si se omite el especificador de acceso, el acceso a la base se considera private.Las especificaciones bases pueden contener la palabra clave virtual para indicar la herencia virtual.Esta palabra clave puede producir antes o después del especificador de acceso, si existe.Si se usa la herencia virtual, la clase base se conoce como clase base virtual.Para obtener más información, vea clases base virtuales.
Las varias clases base se pueden especificar, separados por comas.Si se especifica una sola clase base, el modelo de herencia es Herencia simple. Si se especifica más de una clase base, el modelo de herencia se denomina herencia múltiple,