|
Un tipo concreto de datos creado por el usuario debe comportarse igual
que cualquier otro tipo en el programa, en particular los tipos predefinidos.
El objetivo de todo tipo concreto es extender el sistema de tipos disponible
en el lenguaje, buscando que el compilador pueda generar tipos arbitrarios
y de una manera segura y eficiente. Se busca entonces un marco
de referencia común para que el compilador maneje la memoria de
tipos nuevos (canónica) y soportada por los mismos mecanismos del
lenguaje (ortodoxa).
Supongamos el desarrollo de una clase String, para manejo de cadenas
de caracteres. Con objetos de tipo String debe ser posible hacer las siguientes
operaciones, comunes en el tratamiento de cualquier tipo de datos predefinido:
void Funcion1( )
{
String s1( "Hola Mundo" );
String s2 = s1;
String vec[10]; // vector de Strings
...
vec[0] = Funcion2( s2, ... );
}
|
Ejemplo 1. Manipulación de un tipo concreto
En esta función se crea un objeto s1 cuyo contenido es la cadena
"Hola Mundo", un s2 como copia de s1, un vector de 10 Strings vacios, se
asigna un nuevo valor a s1 y se envía s2 como parámetro de
Funcion2. Una clase que permita a sus objetos hacer estas operaciones cumple
con este Idiom.
|