Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Separar interfaz de implementacion con dev-c++

Estas en el tema de Separar interfaz de implementacion con dev-c++ en el foro de C/C++ en Foros del Web. Hola amigos, estoy incursionando en c++ con este compilador que no es lo mejor pero para lo que quiero hacer me sirve pero no entiendo ...
  #1 (permalink)  
Antiguo 27/08/2008, 12:30
Avatar de dacho  
Fecha de Ingreso: junio-2008
Ubicación: Argentina
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 21
Pregunta Separar interfaz de implementacion con dev-c++

Hola amigos, estoy incursionando en c++ con este compilador que no es lo mejor pero para lo que quiero hacer me sirve pero no entiendo como hacer un ejercicio que figura en el libro "como programar c++" de "Deitel&Deitel".

Es decir el codigo lo entiendo por completo pero no logro linkearlos y realmente no tengo ni idea como joraca hacerlo.

Se trata de los archivos:
  • el encabezado time1.h (donde se declara la clase Time)
  • el archivo time1.cpp (se definine las funciones miembro de la clase Time)
  • Y por ultimo un main que tiene algunas cosas para ver como funca todo.

Listo los codigos para que puedan ver de que estoy hablando al final de todo. Si alguien me puede dar una manito con como linkear todo esto, o alguna referencia de donde lo explican se lo agradeceria muchisisisisismo... En el libro no esta claro.

entonces los codigos:

time1.h
Código:
// time1.h
//declaracion de  la clase time

//evita la inclusion de encabezados
#ifndef TIME1_H
#define TIME1_H

// definicion del tipo de dato abstracto Time
class Time{
public:
       Time();
       void setTime( int, int, int);
       void printMilitary();
       void printStandard();
private:
        int hour;
        int minute;
        int second;
      }
      
#endif
time1.cpp
Código:
// time1.cpp
// Definiciones de funciones miembro de la clase Time

#include <iostream.h>
#include "time1.h"

//constructor que inicializa la clase Time
Time::Time() {hour = minute = second = 0;}

//estable los valores del tiempo
void Time::setTime ( int h, int m, int s )
{
 hour = ( h >= 0 && h < 24 ) ? h : 0;
 minute = ( m >= 0 && m < 60 ) ? m : 0;
 second = ( s >= 0 && s < 60 ) ? s : 0;
}

// Imprime Time ne formato universal
void Time::printMilitary()
{
 cout << (hour < 10 ? "0" : "") << hour << ":"
      << (minute < 10 ? "0" : "") << minute;    
}

// Imprime la hora en formato estandar
void Time::printStandard()
{
 cout << (( hour == 0 || hour == 12) ? 12 : hour % 12)
      << ":" << (minute < 10 ? "0" : "") << minute
      << ":" << (second < 10 ? "0" : "") << second
      << ( hour < 12 ? " AM" : " PM");    
}
main.cpp
Código:
// main

#include<iostream.h>
#include "time1.h"

// Controlador que prueba la clase Time

int main()
{
    
 Time t;  //instancia el objeto t de la clase Time
 
 cout << "La hora militar inicial es ";
 t.printMilitary();
 cout << "\nLa hora estandar inicial es ";
 t.printStandard();
 
 t.setTime( 13, 27, 6 );
 cout << "\n\nLa hora militar despues de setTime es ";
 cout << t.printMilitary();
 cout << "\nLa hora estandar despues de setTime es ";
 cout << t.printStandard(); 


 t.setTime( 99, 99, 99 );
 cout << "\n\nLa hora militar despues de setTime con datos invalidos es ";
 cout << "\nLa hora militar despues de setTime es ";
 cout << t.printMilitary();
 cout << "\nLa hora estandar despues de setTime es ";
 cout << t.printStandard();     
 cout << "\n\n";    
 
 system("PAUSE");
 return 0;
 
}
Mis humildes gracias a quienes esten tomandoce el trabajo de leer todo esto y tambien a quienes me den una manito!

SAludos, Damian.
__________________
Curso de SEO y HTML.
Diprox.com.ar // Diseño Web.
Mi twitter: @soydacho
  #2 (permalink)  
Antiguo 27/08/2008, 12:34
Avatar de dacho  
Fecha de Ingreso: junio-2008
Ubicación: Argentina
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 21
Respuesta: Separar interfaz de implementacion con dev-c++

bueno mirando el codigo de Controlador que prueba la clase Time tiene un par de cosas incoherentes al finalpero bueno xD... se entiende q ese nu es el problema...
__________________
Curso de SEO y HTML.
Diprox.com.ar // Diseño Web.
Mi twitter: @soydacho
  #3 (permalink)  
Antiguo 28/08/2008, 01:32
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Separar interfaz de implementacion con dev-c++

Desde linea de comandos en el \bin\ podes hacer:
g++ main.cpp time1.cpp

Para que compile tenes que arreglar un par de cosas como incluir la libreria de C++ iostream (sin .h), cerrar la clase Time con ; al final, no empujar las funciones que devuelven void al cout (ya lo usan adentro) y agregar using namespace std; (o usar std::cout, etc).
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 28/08/2008, 08:13
Avatar de dacho  
Fecha de Ingreso: junio-2008
Ubicación: Argentina
Mensajes: 374
Antigüedad: 15 años, 10 meses
Puntos: 21
Respuesta: Separar interfaz de implementacion con dev-c++

Okas... GRacias Eternal Idol avidentemente me falta mcuho... gracais por las correcciones cuando lo pueda hacer funcionar aviso!... xD...
__________________
Curso de SEO y HTML.
Diprox.com.ar // Diseño Web.
Mi twitter: @soydacho
  #5 (permalink)  
Antiguo 28/08/2008, 12:25
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Separar interfaz de implementacion con dev-c++

De nadas
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:21.