• Viernes 17 de Mayo de 2024, 05:54

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - vettel

Páginas: [1]
1
C/C++ / Agregación
« en: Domingo 30 de Octubre de 2011, 10:59 »
Hola a todos. Tengo una duda respecto a 2 clases, siendo la clase "Tarea" la clase todo y la clase "Usuario" la clase parte y relacionadas entre sí por una agregación.

Las clases Tarea y Usuario tienen el siguiente esquema:

Tarea <>----> Usuario

En la clase Tarea tengo un método addUsuario(string nombreUsuario) en la parte pública y un vector STL de Usuarios en la parte privada con la forma vector<Usuario*> vectorUsuarios;

En el main tengo este código:

Código: [Seleccionar]
int main(int argc, char *argv[]) {
Tarea *t = new Tarea();

t->addUsuario("Usuario1");
}

Mi duda es la siguiente, cómo añado el usuario al vector desde el método addUsuario siguiendo la filosofía de la agregación?

Sería correcto esto?

Código: [Seleccionar]
void Tarea::addUsuario(string nombreUsuario)
{
     Usuario *u1 = new Usuario(nombreUsuario);
     vectorUsuarios.push_back(u1);               
}

Pero de esta forma, la clase Tarea no está controlando la vida de los objetos de tipo Usuario y sería entonces una composición en vez de una agregación?

Gracias.

Páginas: [1]