elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con ejercicio de separar interfaz de implementación de una clase
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con ejercicio de separar interfaz de implementación de una clase  (Leído 2,244 veces)
Mordecai

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Problema con ejercicio de separar interfaz de implementación de una clase
« en: 14 Septiembre 2013, 02:59 am »

Hola! Como están?  ;D

Éste es mi primer mensaje en este foro (sí, ya leí las reglas y normas del foro). Siempre me gustó el tema de la informática y quería adentrarme en el tema del hacking, y como no entendía mucho, pensé que una buena forma sería empezar primero por aprender un lenguaje de programación, por lo que decidí aprender C++.

Empece a leer el libro "C++: Como programar" de Deitel. Me resulto todo bastante fácil hasta que me encontré con un problema. En un ejercicio, me pide que cree un archivo de encabezado con una clase, y me recomienda que es mejor definir las funciones miembro de dicha clase en un archivo de código de fuente separado. Por lo que me quedarían dos archivos:

LibroCalificaciones.h

Citar
#include <string>
using std::string;

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(); // Muestra mensaje de bienvenida.
private:
    string nombreCurso; // Nombre del curso para este LibroCalificaciones
};

LibroCalificaciones.cpp

Citar
#include <iostream>

    using std::cout;
    using std::endl;

#include "LibroCalificaciones.h"


// El constructor inicializa nombreCurso con el objeto string suministrado como argumento.
LibroCalificaciones::LibroCalificaciones(string nombre)
{
    establecerNombreCurso(nombre); // Inicializa nombreCurso
}

// Función para establecer nombreCurso
void LibroCalificaciones::establecerNombreCurso(string nombre)
{
    nombreCurso = nombre; // Almacena el nombre del curso en el objeto.
}

// Función para obtener el nombre del curso.
string LibroCalificaciones::obtenerNombreCurso()
{
    return nombreCurso;
}

// Muestra un mensaje de bienvenida.
void LibroCalificaciones::mostrarMensaje()
{
    cout << "Bienvenido al libro de calificaciones para\n" << obtenerNombreCurso()
        << "!" << endl;
}

Y luego creo el programa cliente:

Libro.cpp
Citar
#include <iostream>
    using std::cout;
    using std::endl;

#include "LibroCalificaciones.h"

int main()
{
    LibroCalificaciones libroCalificaciones1("CS101 Introduccion a C++");
    LibroCalificaciones libroCalificaciones2("CS102 Estructuras de Datos");

    cout << "libroCalificaciones1 creado para el curso: " << libroCalificaciones1.
        obtenerNombreCurso()
        << "\nlibroCalificaciones2 creado para el curso: " << libroCalificaciones2.
        obtenerNombreCurso() << endl;

    return 0;
}

El problema está en que cuando quiero compilar Libro.cpp, siempre me dice que hubo un error al compilar (uso Visual Studio 2010).
Alguien me podría decir que está mal en el código  :huh: ? Hay algún error en el? Le hace alta algo?

Saludos y espero que me puedan responder  ;D


En línea

erest0r

Desconectado Desconectado

Mensajes: 147



Ver Perfil
Re: Problema con ejercicio de separar interfaz de implementación de una clase
« Respuesta #1 en: 14 Septiembre 2013, 04:49 am »

Hola, para que te compile mas de un archivo al mismo tiempo existen 2 formas( hasta donde yo conozco), la primera es que lo hagas tipo proyecto de forma que los archivos cpp se ubiquen en una carpeta y cuando compiles el archivo Libro.cpp, te generara el ejecutable, la segunda forma es que por medio de la consola de windows CMD, te ubiques en la carpeta donde estan los archivos cpp, y escribas :


Código:
g++ LibroCalificaciones.cpp Libro.cpp

Eso te generara un ejecutable .a que es tu programa =)


« Última modificación: 14 Septiembre 2013, 04:51 am por erest0r » En línea

Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Interfaz grafica y clase process
Java
wilmer.rondon 6 3,092 Último mensaje 13 Junio 2007, 16:06 pm
por wilmer.rondon
Problema con separar interfaz de implementación de una clase.
Programación C/C++
reethok 6 6,140 Último mensaje 25 Diciembre 2011, 14:43 pm
por 3mp3z@ndo
Duda con ejercicio de clase
Programación C/C++
foreground 6 3,344 Último mensaje 1 Octubre 2012, 07:02 am
por Caster
Error en ejercicio de clase
Programación C/C++
foreground 3 2,739 Último mensaje 14 Octubre 2012, 17:07 pm
por bemone
Problema con ejercicio de clase (Estructuras de selección)
Programación C/C++
foreground 5 2,753 Último mensaje 7 Marzo 2013, 22:50 pm
por leosansan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines