• Sábado 14 de Diciembre de 2024, 19:50

Autor Tema:  Agregación  (Leído 1099 veces)

vettel

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Agregación
« en: Domingo 30 de Octubre de 2011, 10:59 »
0
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.