I am currently trying to compile a simple c++ code exactly as the ebook states, but I get errors, and I woder why?. can you guys please help me?.
the code consists on a three separate files ,LibroCalificaciones.h, LibroCalificaciones.cpp, and clase6.cpp ( in which main is ). In this files want to separate the class from it's functions to define them in a separate file called LibroCalificaciones.cpp, in order to use call and use them within main.

Qt Code:
  1. //****************( "LibroCalificaciones.h " )****************
  2.  
  3. #include<string>
  4.  
  5. class LibroCalificaciones {
  6.  
  7. public:
  8.  
  9. LibroCalificaciones( string );
  10. void establecerNombreCurso( string );
  11. string obtenerNombreCurso();
  12. void mostrarMensaje();
  13.  
  14. private:
  15.  
  16. string nombreCurso;
  17. };
  18.  
  19. //****************( " end of LibroCalificaciones.h " )****************
To copy to clipboard, switch view to plain text mode 


Qt Code:
  1. //****************( " LibroCalificaciones.cpp" )****************
  2.  
  3. #include<iostream>
  4. #include<string>
  5. #include"LibroCalificaciones.h"
  6.  
  7. LibroCalificaciones::LibroCalificaciones(string nombre) {
  8.  
  9. establecerNombreCurso( nombre );
  10. }
  11.  
  12. void LibroCalificaciones::establecerNombreCurso() {
  13.  
  14. nombreCurso = nombre;
  15. }
  16.  
  17. string LibroCalificaciones::obtenerNombreCurso() {
  18.  
  19. return nombreCurso;
  20. }
  21.  
  22. void LibroCalificaciones::mostrarMensaje() {
  23.  
  24. cout << "Bienvenido al libro de calificaciones para : " << obtenerNombreCurso() << "! \n\n";
  25. }
  26.  
  27. //****************( " end of LibroCalificaciones.cpp " )****************
To copy to clipboard, switch view to plain text mode 


****************( " clase6.cpp " )****************

Qt Code:
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include"LibroCalificaciones.h"
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.  
  9. LibroCalificaciones libroCalificaciones1( "Introduccion a la programacion en c++" );
  10. LibroCalificaciones libroCalificaciones2("Estructura de datos en c++");
  11.  
  12. cout << "LibroCalificaciones1 creado para el curso : " << libroCalificaciones1.obtenerNombreCurso() << "! \n\n";
  13. cout << "LibroCalificaciones2 creado para el curso : " << libroCalificaciones2.obtenerNombreCurso() << "! \n\n";
  14.  
  15. system("PAUSE");
  16. return 0;
  17.  
  18. }
  19.  
  20. //****************( " end of clase6.cpp " ) ****************
To copy to clipboard, switch view to plain text mode 

Qt Code:
  1. //****************( " errors I get while compiling in Microsoft visual studio 2015 community " ) ****************
  2.  
  3. 1>------ Build started: Project: clase6, Configuration: Debug Win32 ------
  4. 1> main.cpp
  5. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(7): error C2460: 'LibroCalificaciones::string': uses 'LibroCalificaciones', which is being defined
  6. 1> c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(3): note: see declaration of 'LibroCalificaciones'
  7. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(8): error C2327: 'LibroCalificaciones::string': is not a type name, static, or enumerator
  8. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(8): error C2061: syntax error: identifier 'string'
  9. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(9): error C2327: 'LibroCalificaciones::string': is not a type name, static, or enumerator
  10. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(9): error C3646: 'obtenerNombreCurso': unknown override specifier
  11. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(9): error C2059: syntax error: '('
  12. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(9): error C2238: unexpected token(s) preceding ';'
  13. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(14): error C2327: 'LibroCalificaciones::string': is not a type name, static, or enumerator
  14. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(14): error C3646: 'nombreCurso': unknown override specifier
  15. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(14): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  16. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\main.cpp(9): error C2440: 'initializing': cannot convert from 'const char [38]' to 'LibroCalificaciones'
  17. 1> c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\main.cpp(9): note: No constructor could take the source type, or constructor overload resolution was ambiguous
  18. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\main.cpp(10): error C2440: 'initializing': cannot convert from 'const char [27]' to 'LibroCalificaciones'
  19. 1> c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\main.cpp(10): note: No constructor could take the source type, or constructor overload resolution was ambiguous
  20. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\main.cpp(12): error C2039: 'obtenerNombreCurso': is not a member of 'LibroCalificaciones'
  21. 1> c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(3): note: see declaration of 'LibroCalificaciones'
  22. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\main.cpp(13): error C2039: 'obtenerNombreCurso': is not a member of 'LibroCalificaciones'
  23. 1> c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(3): note: see declaration of 'LibroCalificaciones'
  24. 1> LibroCalificaciones.cpp
  25. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(7): error C2460: 'LibroCalificaciones::string': uses 'LibroCalificaciones', which is being defined
  26. 1> c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(3): note: see declaration of 'LibroCalificaciones'
  27. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(8): error C2327: 'LibroCalificaciones::string': is not a type name, static, or enumerator
  28. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(8): error C2061: syntax error: identifier 'string'
  29. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(9): error C2327: 'LibroCalificaciones::string': is not a type name, static, or enumerator
  30. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(9): error C3646: 'obtenerNombreCurso': unknown override specifier
  31. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(9): error C2059: syntax error: '('
  32. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(9): error C2238: unexpected token(s) preceding ';'
  33. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(14): error C2327: 'LibroCalificaciones::string': is not a type name, static, or enumerator
  34. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(14): error C3646: 'nombreCurso': unknown override specifier
  35. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(14): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  36. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(5): error C2597: illegal reference to non-static member 'LibroCalificaciones::string'
  37. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(5): error C2146: syntax error: missing ')' before identifier 'nombre'
  38. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(5): error C2143: syntax error: missing ';' before '{'
  39. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(5): error C2447: '{': missing function header (old-style formal list?)
  40. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(12): error C2065: 'nombreCurso': undeclared identifier
  41. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(12): error C2065: 'nombre': undeclared identifier
  42. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(15): error C2039: 'obtenerNombreCurso': is not a member of 'LibroCalificaciones'
  43. 1> c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.h(3): note: see declaration of 'LibroCalificaciones'
  44. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(15): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
  45. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(15): error C2146: syntax error: missing ';' before identifier 'obtenerNombreCurso'
  46. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(15): error C2143: syntax error: missing ';' before '{'
  47. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(15): error C2447: '{': missing function header (old-style formal list?)
  48. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(22): error C2065: 'cout': undeclared identifier
  49. 1>c:\users\eyel\documents\visual studio 2015\projects\clase6\clase6\librocalificaciones.cpp(22): error C3861: 'obtenerNombreCurso': identifier not found
  50. 1> Generating Code...
  51. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
To copy to clipboard, switch view to plain text mode