Documente Academic
Documente Profesional
Documente Cultură
Cliente declarando los atributos titulares y cuentas de las dos clases, como en el ejemplo
anterior. La norma define estos atributos como ejemplares de una clase plantilla
d_Rel_Set<T,A>.
Un ejemplar de esta clase contiene un conjunto de referencias a objetos de tipo T. Debe
haber un atributo en la clase T que guarda la referencia inversa; el nombre de este atributo
está guardado en A. Por restricciones del lenguaje C++, no se puede usar directamente la
cadena «titulares» o «cuentas» como un parámetro de la clase plantilla, así que se se usan
las variables titulares y cuentas, que guardan las cadenas «titulares» y «cuentas»
respectivamente.
la clase plantilla d_Rel_Ref<T,A> proporciona un método para la inserción de una
referencia; este método también inserta una referencia inversa (si no está ya presente) en
el atributo, cuyo nombre se guarda en A, de la clase T. Por ejemplo, para añadir una nueva
cuenta a un cliente se inserta una referencia a la cuenta en el atributo cuentas de Cliente;
usando el método para insertar de la clase d_Rel_Set<Cuenta,_titulares>.
Como paso siguiente, el programa crea un objeto cuenta y un objeto titular usando el
operador new. La clase d_Object implementa varios métodos, incluyendo la versión
persistente del operador de asignación de memoria new que se utiliza en el código de
ejemplo.
Esta versión del operador new asigna el objeto a la base de datos especificada en vez
de en la memoria. El operador también toma un parámetro que especifica el nombre de
la clase del objeto que está siendo asignado; el nombre de la clase se usa para seguir
la trayectoria de qué objetos pertenecen a una determinada clase en una base de
datos.