// Fig. 3.13: fig03_13.cpp
// Demostración de la clase LibroCalificaciones después de separar
// su interfaz de su implementación.
#include <iostream>
using std::cout;
using std::endl;
#include "LibroCalificaciones.h" // incluye la definición de la clase LibroCalificaciones
// la función main empieza la ejecución del programa
int main()
{
// crea dos objetos LibroCalificaciones
LibroCalificaciones libroCalificaciones1( "CS101 Introduccion a la programacion en C++" );
LibroCalificaciones libroCalificaciones2( "CS102 Estructuras de datos en C++" );
// muestra el valor inicial de courseName para cada LibroCalificaciones
cout << "libroCalificaciones1 creado para el curso: " << libroCalificaciones1.obtenerNombreCurso()
<< "\nlibroCalificaciones2 creado para el curso: " << libroCalificaciones2.obtenerNombreCurso()
<< endl;
return 0; // indica que terminó correctamente
}
luego en otro archivo:
// Fig. 3.12: LibroCalificaciones.cpp
// Definiciones de las funciones miembro de LibroCalificaciones. Este archivo contiene
// implementaciones de las funciones miembro cuyo prototipo está en LibroCalificaciones.h.
#include <iostream>
using std::cout;
using std::endl;
#include "LibroCalificaciones.h" // incluye la definición de la clase LibroCalificaciones
// el constructor inicializa nombreCurso con el objeto string suministrado como argumento
LibroCalificaciones::LibroCalificaciones( string nombre )
{
establecerNombreCurso( nombre ); // llama a la función establecer para inicializar nombreCurso
} // fin del constructor de LibroCalificaciones
// función para establecer el nombre del curso
void LibroCalificaciones::establecerNombreCurso( string nombre )
{
nombreCurso = nombre; // almacena el nombre del curso en el objeto
} // fin de la función establecerNombreCurso
// función para obtener el nombre del curso
string LibroCalificaciones::obtenerNombreCurso()
{
return nombreCurso; // devuelve el nombreCurso del objeto
} // fin de la función obtenerNombreCurso
// muestra un mensaje de bienvenida al usuario de LibroCalificaciones1
void LibroCalificaciones::mostrarMensaje()
{
// llama a obtenerNombreCurso para obtener el nombreCurso
cout << "Bienvenido al libro de calificaciones para\n" << obtenerNombreCurso()
<< "!" << endl;
} // fin de la función mostrarMensaje
luego en otro archivo:
// Fig. 3.11: LibroCalificaciones.h
// Definición de la clase LibroCalificaciones. Este archivo presenta la interfaz
// public de LibroCalificaciones sin revelar las implementaciones de sus funciones
// miembro, que están definidas en LibroCalificaciones.cpp.
#include <string> // la clase LibroCalificaciones utiliza la clase string estándar de C++
using std::string;
// definición de la clase LibroCalificaciones
class LibroCalificaciones
{
public:
LibroCalificaciones( string ); // constructor que inicializa a nombreCurso
void establecerNombreCurso( string ); // función que establece el nombre del curso
string obtenerNombreCurso(); // función que obtiene el nombre del curso
void mostrarMensaje(); // función que muestra un mensaje de bienvenida
private:
string nombreCurso; // nombre del curso para este LibroCalificaciones
};