| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
lordLestatdeLioncourt
Registrado: 03 Jun 2014 Mensajes: 7
| Publicado: 03/06/2014 9:24 am | | | Título: metodos getter y metodos setter |
| Alguien me podria explicar como se crean los metodos getter y setter he intentado de esta forma
| Código: |
char MiClase::getNombre(){ return this->nombre ; }
void MiClase::setNombre(char nombre[50]){ this->nombre = nombre; }
|
pero no me funciona obviamente me da error
me podrian explicar como se deben hacer por favor |
|
| Volver arriba | |
 |
dehm
Registrado: 29 Abr 2011 Mensajes: 143
| Publicado: 03/06/2014 9:37 am | | | Título: |
| Deberías de poner la clase completa para ver dónde está el error _________________ Aprendiendo |
|
| Volver arriba | |
 |
lordLestatdeLioncourt
Registrado: 03 Jun 2014 Mensajes: 7
| Publicado: 03/06/2014 9:57 am | | | Título: |
| | Código: | class Contactos { private: char nombre[50]; char telefono[50]; public: Contactos(); void setNombre(char nombre[50]); char getNombre(); };
Contactos::Contactos() { }
void Contactos::setNombre(char nombre[50]) { this->nombre = nombre; }
char Contactos::getNombre() { return this->nombre; }
|
asi esta mi clase, disculpen mi ignorancia soy nuevo en c++ |
|
| Volver arriba | |
 |
|
dehm
Registrado: 29 Abr 2011 Mensajes: 143
| Publicado: 03/06/2014 10:11 am | | | Título: |
| El problema es que cuando quieres asignarle al miembro char nombre[50] con el setter, lo haces mal. La forma correcta es copiar cada caracter del parámetro al miembro, o mejor, hacer uso de la función strcpy. De ésta forma haces un copiado correcto del nombre que quieres copiar al miembro char nombre[50].
En el getter tienes un problema de tipos, ya que char nombre[50] es de tipo char[50] o char*, pero no char.
El código corregido podría ser así:
| Código: | #include <iostream> #include <string.h>
using namespace std;
class Contactos { private: char nombre[50]; char telefono[50]; public: Contactos(); void setNombre(char nombre[50]); char* getNombre(); };
Contactos::Contactos() { }
void Contactos::setNombre(char nombre[50]) { strcpy (this->nombre, nombre); }
char* Contactos::getNombre() { return nombre; }
int main() {
Contactos c; char nombre[50]="El rincon del C"; c.setNombre(nombre); cout<<c.getNombre();
return 0;
} |
_________________ Aprendiendo |
|
| Volver arriba | |
 |
lordLestatdeLioncourt
Registrado: 03 Jun 2014 Mensajes: 7
| Publicado: 03/06/2014 10:35 am | | | Título: |
| | muchas gracias por responder, podrías recomendarme algún curso donde se traten estos temas si no es mucha molesta y gracias nuevamente |
|
| Volver arriba | |
 |
dehm
Registrado: 29 Abr 2011 Mensajes: 143
| Publicado: 03/06/2014 10:52 am | | | Título: |
| Bueno, yo he aprendido C++ sobre todo con el curso de cconclase. http://www.conclase.net/
Y también seguí en su momento el curso de C de ésta misma página.
Y luego algunos libros....pero bueno, para la iniciación esas páginas están bien, creo. Tienen un nivel básico-medio y una forma muy didáctica de decir las cosas. _________________ Aprendiendo |
|
| Volver arriba | |
 |
|
lordLestatdeLioncourt
Registrado: 03 Jun 2014 Mensajes: 7
| Publicado: 03/06/2014 10:59 am | | | Título: |
| | muchas gracias por responder, saludos desde México |
|
| Volver arriba | |
 |
dehm
Registrado: 29 Abr 2011 Mensajes: 143
| Publicado: 03/06/2014 11:10 am | | | Título: |
| De nada, para eso estamos. Pues si eres de México, aquí encontrarás la ayuda de un paisano tuyo -rir3760-, que te podrá ayudar y aconsejar con los cursos y con todo lo relacionado con la programación con más solvencia que yo. _________________ Aprendiendo |
|
| Volver arriba | |
 |
lordLestatdeLioncourt
Registrado: 03 Jun 2014 Mensajes: 7
| Publicado: 04/06/2014 10:46 am | | | Título: |
| | a muchas gracias, me pondré en contacto con él porque tengo algunas dudas con respecto a la librera ncurses.h, si también tú pudieras echarme una mano te lo agradecería mucho. Gracias nuevamente |
|
| Volver arriba | |
 |
|
|