Título: [C++] Buscar un dato privado en un vector de clase Publicado por: Rockmore en 5 Marzo 2011, 21:19 pm Saludos. Puede que el título no esté muy claro, así que explicaré cuál es el problema que me ha traído:
En una clase Agenda he de crear un método mediante el cual el usuario introduzca un nombre y el programa muestre todos los datos del vector en los que se encuentre ese nombre. El caso es que el nombre se encuentra en otra clase distinta, y no podemos hacer amigos. Busqué información y descubrí que es posible hacerlo con los métodos get y set, pero no sé cómo aplicarlos. Aquí pongo parte del código: Código
Título: Re: [C++] Buscar un dato privado en un vector de clase Publicado por: Edu en 5 Marzo 2011, 21:24 pm Si eso del get y set sirve para hacerlo mas formal y mantener privado el campo q usas para poner los nombres.
Pero puedes solamente poner publica la variable q quieres tomar de otro lado y podras modificarla igual. pd: Ah pero tienes q instanciar la clase primero, yo se C# espero q no este metiendo la pata.. Título: Re: [C++] Buscar un dato privado en un vector de clase Publicado por: Akai en 5 Marzo 2011, 23:07 pm Si te está permitido, qué tal añadir un método público en "Contacto" que te devuelva el string nombre, por ejemplo. Creo que es la opción más simple después de un método friend.
Título: Re: [C++] Buscar un dato privado en un vector de clase Publicado por: Rockmore en 6 Marzo 2011, 12:12 pm Saludos. Gracias por las aportaciones. Por un lado, los atributos deben ser todos privados, así que no puedo hacer ese público. Por otro lado, añadí un método público en "Contacto" que me devolviera el string nombre. Así no tengo errores de compilación ni de ejecución, sin embargo, es posible que no lo haya creado bien, pues cuando voy a buscar un contacto que he añadido, no me encuentra nada. Ni siquiera me salta el centinela, pues me dice "Contacto no encontrado".
Código
Título: Re: [C++] Buscar un dato privado en un vector de clase Publicado por: punk_day22 en 9 Marzo 2011, 13:01 pm Hey tio he conseguido hacerlo con memoria estatica de todas formas me compila y me funciona canviando ciertas cosas de tu codigo, mañana si puedo te pongo el codigo q aun no lo he completado ^^
pd: eres de la universidad de alicante? por q estoi haciendo una practica identica :P, saludos=) Título: Re: [C++] Buscar un dato privado en un vector de clase Publicado por: Rockmore en 10 Marzo 2011, 17:27 pm Pues sí, soy de la UA, del grupo de tarde de teleco. Me has pillado. Pues espero tu código, que a mí se me ha secado el cerebro.
Título: Re: [C++] Buscar un dato privado en un vector de clase Publicado por: punk_day22 en 10 Marzo 2011, 17:44 pm //Basicamente es lo mismo solo que los atributos que tienes como privado no van hay, pasalos a ponerlos en el metodo como te lo pongo ^^ en realidad era una tonteria
void buscar(void){ string comparar; string buscarnombre; bool exito; cout<<"Nombre a buscar"; getline(cin,buscarnombre); for(int i=0;i<N;i++){ comparar=contactos.VerNombre(); if(buscarnombre==comparar){ contactos.mostrarcontacto(); exito=true; } } if(exito==false){ cout << "Contacto no encontrado" << endl; } return; } Título: Re: [C++] Buscar un dato privado en un vector de clase Publicado por: Rockmore en 10 Marzo 2011, 18:13 pm Bueno, ya está resuelto. El error estaba en que inicializaba N en -1, para luego añadirle 1 antes de crear un contacto nuevo. Queda solucionado inicializando N en 0 y añadirle 1 DESPUES de crear el contacto.
Código
De todos modos, gracias por las ideas ;) |