Dev - C++ - Me marca algunos errores que no entiendo a la hora de querer crear una clase

 
Vista:

Me marca algunos errores que no entiendo a la hora de querer crear una clase

Publicado por Isaac (4 intervenciones) el 08/10/2018 07:52:15
Empecé a leer el libro "Cómo programar en C++" por Deitel. En el capítulo 3, empezamos a ver los códigos orientados a clases y objetos. El ejercicio de la Fig.3.9 nos presenta un código que contiene la definición de la clase llamada "LibroCalificaciones" .

Este es el código

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
27
28
29
30
31
32
33
34
35
36
37
38
//Fig. 3.9: LibroCalificaciones.h
//Definición de la clase LibroCalificaciones en un archivo separado de main.
#include <iostream>
#include <string> //clase LibroCalifiaciones utiliza la clase string estándar de C++
#include "pch.h"
//definición de la clase LibroCalificaciones
class LibroCalificaciones
{
public:
	//El constructor inicializa nombreCurso con la cadena que se suministra como argumento
	explicit LibroCalificaciones(std::string nombre)
		: nombreCurso(nombre) //Inicializador de miembro para inicializar nombreCurso
	{
		//Cuerpo vacío
	}//Fin del constructor de LibroCalificaciones
 
	//Funcíón para establecer el nombre del curso
	void establecerNombreCurso(std::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
	std::string obtenerNombreCurso() const
	{
		return nombreCurso; //Devuelve el nombreCurso al objeto
	}//Fin de la función obtenerNombreCurso
 
	//Muestra un mensaje de bienvenida al usuario de LibroCalificaciones
	void mostrarMensaje() const
	{
		//llama a obtenerNombreCurso para obtener el nombreCurso
		std::cout << "Bienvenido al libro de calificaciones para\n" << obtenerNombreCurso()
			<< "!" << std::endl;
	}//Fin de la función mostrarMensaje
private:
	std::string nombreCurso; //nombre del curso para esteLibroCalificaciones
};//Fin de la clase LibroCalificaciones


Sin embargo, cuando intento compilarlo, me aparecen estos mensajes de error:

Gravedad Código Descripción Línea
Error C2065 'cout': identificador no declarado 33
Error C2039 'cout': no es un miembro de 'std' 33
Error C2065 'endl': identificador no declarado 34
Error C2039 'endl': no es un miembro de 'std' 34
Error C2614 'LibroCalificaciones': inicialización
de miembro no válida: 'nombreCurso'
no es una base o miembro 12
Error C2065 'nombre': identificador no declarado 12
Error C2065 'nombre': identificador no declarado 20
Error C3646 'nombreCurso': especificador de
invalidación desconocido 37
Error C2065 'nombreCurso': identificador no
declarado 20
Error C3646 'obtenerNombreCurso': especificador
de invalidación desconocido 24
Error C3861 'obtenerNombreCurso': no se encontró
el identificador 33
Error C2039 'string': no es un miembro de 'std' 11
Error C2039 'string': no es un miembro de 'std' 18
Error C2039 'string': no es un miembro de 'std' 24
Error C2039 'string': no es un miembro de 'std' 37
Error C2059 error de sintaxis: '(' 24
Error C2061 error de sintaxis: identificador 'string' 11
Error C2061 error de sintaxis: identificador 'string' 18
Error C4430 falta el especificador de tipo; se
presupone int. Nota: C++ no admite
default-int 37
Error C2334 símbolos (token) inesperados delante de
'{'; se pasará por alto el cuerpo de
función aparente 25

No entiendo por qué me aparecen estos errores.
Por favor!!!!!!! Necesito ayudaaaaaaa.

Uso Visual Studio 2017

Los errores los encuentras en la pagina de Microsoft Docs en la parte de "Compiler Errors" con el códiga que dice cada error.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jean Pierre
Val: 169
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Me marca algunos errores que no entiendo a la hora de querer crear una clase

Publicado por Jean Pierre (45 intervenciones) el 18/10/2018 22:03:48
Prueba con este codigo, pero antes de compilarlo debes tener su .cpp y solo compila el .cpp no el .h y otra cosa, es que no se para que pones el #include "pch.h" si no se usa hay

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
27
28
29
#ifndef LIBRO_CALIFICACIONES_H
#define LIBRO_CALIFICACIONES_H
 
#include <iostream>
 
class LibroCalificaciones
{
    public:
    LibroCalificaciones(std::string nombre) : nombreCurso(nombre)
    {
 
    }
 
    void establecerNombreCurso(std::string nombre){
        nombreCurso = nombre;
    }
    std::string obtenerNombreCurso() const{
    	return nombreCurso;
    }
 
    void mostrarMensaje() const{
      std::cout << "Bienvenido al libro de calificaciones para\n" << obtenerNombreCurso() << "!" << std::endl;
    }
 
    private:
    std::string nombreCurso;
};
 
#endif
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar