Duda con clases y objetos: miembros de datos

Iniciado por Coda, 21 Abril 2016, 02:04 AM

0 Miembros y 1 Visitante están viendo este tema.

Coda

Hola y buenas a todos, soy nuevo en la pagina y tambien programando :d , estoy guiandome con un libro y ahora voy por Clases y objetos, peor quede bloqueado despues de que el libro muestra un ejemplo que indica que enseña: Miembros de datos,funciones establece y obtener que para dar un detalle de lo que hara el programa lo describen asi:

La clase LibroCalificaciones con miembro de datos, una función establecer y una función obtener
En nuestro siguiente ejemplo, la clase LibroCalificaciones (fi gura 3.5) mantiene el nombre del curso como un miembro
de datos, para que pueda usarse o modifi carse en cualquier momento, durante la ejecución de un programa. Esta
clase contiene las funciones miembro establecerNombreCurso, obtenerNombreCurso y mostrarMensaje. La función
miembro establecerNombreCurso almacena el nombre de un curso en un miembro de datos de LibroCalificaciones.
La función miembro obtenerNombreCurso obtiene el nombre del curso de ese miembro de datos. La función
miembro mostrarMensaje, que en este caso no especifi ca parámetros, sigue mostrando un mensaje de bienvenida que
incluye el nombre del curso. Pero como veremos más adelante, la función ahora obtiene el nombre del curso mediante
una llamada a otra función en la misma clase: obtenerNombreCurso.
Figura 3.5 | Defi nición y prueba de la clase LibroCalificaciones con un miembro de datos y funciones establecer y
obtener.


Código (cpp) [Seleccionar]
#include <iostream>
#include <string >

using namespace std;

class LibroCalificaciones
{
public:

void establecerNombreCurso( string nombre )
{
nombreCurso = nombre;
}


string obtenerNombreCurso()
{
return nombreCurso;
}


void mostrarMensaje()
{

cout << "Bienvenido al libro de calificaciones para\n" << obtenerNombreCurso() << "!"
<< endl;
}
private:
string nombreCurso;


int main()
{
string nombreDelCurso;
LibroCalificaciones miLibroCalificaciones;

cout << "El nombre inicial del curso es: " << miLibroCalificaciones.obtenerNombreCurso()
<< endl;


cout << "\nEscriba el nombre del curso:" << endl;
getline( cin, nombreDelCurso );
miLibroCalificaciones.establecerNombreCurso( nombreDelCurso );


cout << endl;
miLibroCalificaciones.mostrarMensaje();
return 0;
}



Yo lo unico que logro captar con claridad, es que Las funciones captan lo que se ingresa (obtenernombre) y luego lo muestra.... no se para que diablos usa establecer curso, y tampoco la funcionalidad de private string nombrecurso---- no veo que se le utilice alguna vez, si pudiesen ayudarme a entender el programa se los agradeceria mucho  ;D

HardForo

Lee sobre setters y getters ya que establecerNombreCurso() es un setter o sea una funcion (o metodo) que te sirve para "setear" (establecer) el valor de un campo en tu objeto y obtenerNombreCurso() un getter (te devuelve el valor de un campo)


Le sobre visibilidad en POO : miembros* publicos, privados, protegidos, etc


*
tanto los campos (propiedades) como los metodos son miembros de la clase
HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *