|  Una clase derivada contiene los atributos y el comportamiento de 
              su clase base. Una clse derivada también puede contener atributos 
              y comportamientos adicionales. Con la herencia, la clase base puede 
              ser compilada independiente de la clase derivada. Para tener la 
              capacidad de combinar estos atributos y comportamientos adicionales 
              con la clase base para formar la clase derivada basta compilar los 
              atributos y comportamientos incrementados de la clase derivada.
  Las modificaciones a una clase base no requieren que sea modificada 
              la clase derivada, siempre y cuando la interfaz pública de 
              la clase base se mantenga sin modificación. Pudiera sin embargo, 
              ser necesario recompilar las clases derivadas.
  Las modificaciones a una clase miembro no requieren que su clase 
              compuesta que la encierra sea modificada, siempre y cuando se mantenga 
              sin modificación la interfaz pública de la clase miembro. 
              Note que pudiera ser necesario recompilar la clase compuesta.
  Declarar un objeto como const ayuda a que se cumpla el principio 
              del mínimo privilegio. Cualquier intento accidental de modificar 
              dicho objeto ser  detectado en tiempo de compilación, 
              en vez de causar errores en tiempo de ejecución.
  Una función miembro const puede ser homónima en una 
              versión no const. El compilador selecciona de forma automática 
              la función miembro homónima basándose en el 
              objeto que ha sido declarado const o no. 
 
  Tanto los objetos const como las "variables" const necesitan 
              ser inicializadas con sintaxis de inicializador miembro. Las asignaciones 
              no son permitidas.
  Una forma de reutilización del software es la composición, 
              en la cual una clase tiene como miembros objetos de otras clases.
  Los conceptos de acceso de miembros correspondientes a private, 
              protected y public no tienen relación con las declaraciones 
              de amistad por lo que las declaraciones de amistad pueden ser colocadas 
              en cualquier parte de la definición de clase.
  Algunas personas en la comunidad OOP (Programción orientada 
              a objetos) sienten que la "amistad" corrompe el ocultamiento 
              de la información y debilita el valor del enfoque de diseño 
              orientado a objetos.
  Los miembros de datos estáticos y las funciones miembro estáticas 
              existen y pueden ser utilizados, aun si no se han producido objetos 
              de dicha clase.
  El programador puede crear nuevos tipos mediante el uso del mecanismo 
              de clases. Estos nuevos tipos pueden ser diseñados para ser 
              usados tan conveniente como los tipos incorporados. A pesar de que 
              mediante estos nuevos tipos el lenguaje es fácil de ampliar, 
              el lenguaje base mismo no es modificable.
  Las clases plantilla fomentan la reutilización del software.
 |