
Problema con ejercicio del libro "Como programar en c++" de paul deitel 9° edicion
Publicado por Maximiliano (2 intervenciones) el 12/03/2018 14:24:47
Hola buenas estoy haciendo un ejercicio de este libro, el 3.13 y me salen varios errores. El ejercicio enseña a crear un programa de caificaciones para un curso, y ahora la consigna del libro es crear el programa separando el main, el archivo header dividido en dos, la interfaz que contiene los prototipos de funciones y por otra parte las implementaciones de las funciones, osea que serian tres archivos, el main, las implementaciones y la interfaz con los prototipos de funciones, pero al compilar me marca varios errores.
Este es el archivo header llamado LibroCalificaciones.h
Este archivo se llama LibroCalificaciones.cpp y contiene las implementaciones de las funciones:
Y este archivo es el main , se llama "Fig03_13.cpp" que deberia ejecutarse sin problemas usando la clase del header llamado "LibroCalificaciones ,h"
al compilar me tira estos mensajes, el primero en la linea dos del archivo que contiene el main, parece q hay un error con el archivo header. Y luego me tira errores en la linea 11 del archivo header tambien en la linea de la funcion "void establecerNombreCurso( std::string );"
2 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\Fig03_13.cpp In file included from F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\Fig03_13.cpp
11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h ISO C++ forbids declaration of `obtenerNombreCurso' with no type
11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h invalid use of `::'
11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h `const' and `volatile' function specifiers on `obtenerNombreCurso' invalid in field declaration
11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h field `LibroCalificaciones::obtenerNombreCurso' invalidly declared function type
Espero que me puedan dar una mano, esty tratando de incorporar este lenguaje en mi cabeza y esto la verdad que no lo entiendo.... Desde ya muchas gracais!
Este es el archivo header llamado LibroCalificaciones.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<string>
//este archivo presenta la interfaz sin revelar
//las implementaciones de sus funciones miembro
class LibroCalificaciones
{
public:
explicit LibroCalificaciones( std::string );
void establecerNombreCurso( std::string );
std::obtenerNombreCurso() const;
void mostrarMensaje() const;
private:
std::string nombreCurso;
};
Este archivo se llama LibroCalificaciones.cpp y contiene las implementaciones de las funciones:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
#include"LibroCalificaciones.h"
//este archivo contiene las implementaciones
using namespace std;
LibroCalificaciones::LibroCalificaciones( string nombre )
: nombreCurso( nombre )
{
}
void LibroCalificaciones::establecerNombreCurso( string nombre)
{
nombreCurso = nombre;
}
string LibroCalificaciones::obtenerNombreCurso() const
{
return nombreCurso;
}
void LibroCalificaciones::mostrarMensaje() const
{
cout << "Bienvenido al libro de calificaciones para\n" << obtenerNombreCurso()
<< "!" << endl;
}
Y este archivo es el main , se llama "Fig03_13.cpp" que deberia ejecutarse sin problemas usando la clase del header llamado "LibroCalificaciones ,h"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include"LibroCalificaciones.h"
//demostraciond e clase despues de separar
//interfaz de su implementacion
using namespace std;
int main()
{
LibroCalificaciones libroCalificaciones1("CS101 introduccion a la programacion en c++");
LibroCalificaciones libroCalificaciones2("CS102 Estructura de datos en c++");
cout << "libroCalificaciones1 creado para el curso: "
<<libroCalificaciones1.obtenerNombreCurso()
<<"\nlibroCalificaciones2 creado para el curso: "
<< libroCalificaciones2.obtenerNombreCurso()
<< endl;
system("PAUSE");
return 0;
}
al compilar me tira estos mensajes, el primero en la linea dos del archivo que contiene el main, parece q hay un error con el archivo header. Y luego me tira errores en la linea 11 del archivo header tambien en la linea de la funcion "void establecerNombreCurso( std::string );"
2 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\Fig03_13.cpp In file included from F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\Fig03_13.cpp
11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h ISO C++ forbids declaration of `obtenerNombreCurso' with no type
11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h invalid use of `::'
11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h `const' and `volatile' function specifiers on `obtenerNombreCurso' invalid in field declaration
11 F:\Dev tutorial\LibroCalificaciones\Separacion de clase y main\LibroCalificaciones.h field `LibroCalificaciones::obtenerNombreCurso' invalidly declared function type
Espero que me puedan dar una mano, esty tratando de incorporar este lenguaje en mi cabeza y esto la verdad que no lo entiendo.... Desde ya muchas gracais!
- Archivos-del-LibroCalificaciones.rar(951,0 B)
Valora esta pregunta


0