Disponible la nueva versión "donationware" 7.3 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.