4.11.2 Declaración de una nueva clase
§1 Sinopsis
Como se ha señalado anteriormente, la declaración de una nueva clase puede efectuarse básicamente de tres formas: por definición (partiendo desde cero), por herencia simple (derivando de una clase anterior) y por composición o herencia múltiple (heredando de varias clases-base).
§2 Sintaxis
En cualquier caso, la declaración de una nueva clase utiliza una expresión cuya sintaxis general es la siguiente:
class-key <info> nomb-clase <: lista-base> { <lista-miembros> };
Significado de los diversos componentes:
<class-key>
es alguna de las palabras clave class, struct o union [1].
<info> opcional. Indica una petición de
información en tiempo de ejecución sobre la clase. Puede compilarse con la opción –RT
(
4.9.14), o puede usarse
la palabra clave __rtti.
<nomb-clase> es el identificador (nombre)
de la nueva clase (
4.11.3). Es costumbre que al menos la inicial del nombre de las clases sea mayúscula.
<: lista-base> opcional. En caso que la
clase derive de otra/s relaciona la/s clase/s base (ancestros) de las que la nueva hereda propiedades y métodos. En este caso
se dice que nomb-clase es una clase derivada. La lista-base puede tener especificadores de acceso
(opcionales y por defecto
4.11.2b) que pueden modificar la forma en que los miembros de la clase
derivada heredan los privilegios de acceso que tenían en la clase antecesora.
<lista-miembros> opcional. Declara los miembros
de la nueva clase (propiedades y métodos) con especificadores de acceso (opcionales y por defecto
4.11.2a),
que pueden especificar que métodos y propiedades son accesibles y cómo, desde el exterior.
[1] Las estructuras y uniones C++ son consideradas clases con ciertas propiedades por defecto. Por ejemplo, todos sus miembros son públicos, y no suelen tener métodos.