Disponible la versión 6 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Curso C++

[Home]  [Inicio]  [Índice]


2.2.2  Tipos derivados

§1  Sinopsis

Aparte de los tipos básicos ( 2.2.1) y sus variantes, C++ soporta otros tipos de naturaleza compleja que derivan de aquellos.  Dicho en otras palabras:  C++ permite al usuario construir otros tipos a partir de los básicos. De estos "nuevos" tipos, los de nivel de abstracción más alto son las clases ( 4.11), incluyendo sus formas particulares (estructuras y uniones); también pueden crearse campos de bits; matrices  y una familia de tipos muy importante: los punteros.  Hay punteros a cada uno de los demás tipos: a carácter, a entero, a estructura, a función, a puntero, etc. ( 4.2).

Los tipos derivados se construyen con palabras clave: classstructunión u operadores especiales como los siguientes:

  • *            puntero a
  • *const    puntero constante a
  • &           referencia a
  • [ ]          array[1] de
  • ( )          retorno de función

Ejemplos: suponiendo que tipoX un tipo básico o variante (no void 2.2.1), pueden declararse tipos derivados tal como se muestra:

tipoX t;                         // t es un objeto de tipo tipoX

tipoX arr[10];                   // arr es una matriz de diez elementos tipoX

tipoX *ptr;                      // ptr es un puntero a tipoX

tipoX &ref=t;                    // ref es una referencia a tipoX

tipoX func(void);                // func devuelve un valor tipoX (no acepta parámetros)

void func(tipoX t);              // func1 acepta un parámetro t  tipoX (no devuelve nada)

struct st {tipoX t1; tipoX t2};  // la estructura st alberga dos tipoX

Nota: Las expresiones: tipo& vartipo &var  y  tipo & var  son equivalentes.

  Inicio.


[1]  El original inglés, "array", significa arreglo, orden; en informática tiene el sentido de vector, matriz. A veces, en lo sucesivo usaremos el original inglés.