Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/08/2008, 01:47
Avatar de Fayca
Fayca
 
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Pregunta ayuda con class

bueno simplemente no entiendo como es que funciona una clase
por ejemplo esta la transcribi del libro que estoy leyendo

Código:
//*************************************************
// ARCHIVO DE ESPECIFICACIÓN (Time.h)
// Este archivo proporciona la especificación
// de un tipo de datos abstractos Time
//*************************************************

class Time
{
    public:
    void Set(int hours,int minutes,int seconds);
    //Precondición:
    //      0 <= hours <= 23 && 0 <= minutes <= 59 && 0 <= seconds <= 59
    //Poscondición:
    //      El tiempo se establece de acuerdp con los parámetros entrantes
    // NOTA:
    //      Esta función debe ser llamada antes que
    //      cualquiera de las otras funciones miembro

    void Increment();
    //Precondicion
    //      La función Set ha sido convocada por lo menos una vez
    //Poscondición:
    //      El tiempo ha sido adelantado en un segundo con,
    //        23:59:59 que comienza de nuevo en 0:0:0

    void Write() const;
    //Precondición:
    //      La función Set ha sido invocada por lo menos una vez
    //Poscondición:
    //      El tiempo ha sido generado en la forma HH:MM:SS

    bool Equal(Time otherTime) const;
    //Precondición
    //      La funcion Set ha sido invocada por lo menos una vez
    //      para este tiempo y otro tiempo (otherTime)
    //Poscondición:
    //      Valor de función == true, si este tiempo es igual a otherTime
    //                       == false, en caso contrario

    bool LessThan(Time otherTime) const;
    //Precondición:
    //      La funcion Set ha sido invocada por lo menos una vez
    //      para este tiempo y otro tiempo (otherTime) && Este tiempo y otherTime representan tiempos en el mismo dia
    //Poscondición:
    //      Valor de función == true, si este tiempo está antes en el dia que otherTime
    //                       == false, en caso contrario

    private:

    int hrs;
    int mins;
    int secs;
};

Código:
//****************************************************************
// ARCHIVO DE IMPLEMENTACIÓN (Time.cpp)
// Este archivo pone en práctica las funciones de miembro Time
//****************************************************************


#include <iostream>
#include "Time.h"
// Miembros de clase privados
//      int hrs;
//      int mins;
//      int secs;

//*******************************************************************************************************************************************************************

void Time::Set(int hours,int minutes,int seconds)
{
    //Precondición:
    //      0 <= hours <= 23 && 0 <= minutes <= 59 && 0 <= seconds <= 59
    //Poscondición:
    //      El tiempo se establece de acuerdp con los parámetros entrantes
    // NOTA:
    //      Esta función debe ser llamada antes que
    //      cualquiera de las otras funciones miembro

    hrs = hours;
    mins = minutes;
    secs = seconds;
}
//************************************************************************************************************************************************************************

void Time::Increment()
{
    //Precondicion
    //      La función Set ha sido convocada por lo menos una vez
    //Poscondición:
    //      El tiempo ha sido adelantado en un segundo con,
    //        23:59:59 que comienza de nuevo en 0:0:0

    secs++;
    if(secs > 59)
    {
        secs = 0;
        mins++;
        if(mins > 59)
        {
            mins = 0;
            hrs++;
            if(hrs > 23) hrs = 0;
        }
    }
}
//***********************************************************************************************************************************************************************

void Time::Write() const
{
    //Precondición:
    //      La función Set ha sido invocada por lo menos una vez
    //Poscondición:
    //      El tiempo ha sido generado en la forma HH:MM:SS

    if(hrs < 10) std::cout << '0';
    std::cout << hrs << ':';
    if(mins < 10) std::cout << '0';
    std::cout << mins << ':';
    if(secs < 10) std::cout << '0';
    std::cout << secs;
}
//************************************************************************************************************************************************************************

bool Time::Equal(Time otherTime) const
{
    //Precondición
    //      La funcion Set ha sido invocada por lo menos una vez
    //      para este tiempo y otro tiempo (otherTime)
    //Poscondición:
    //      Valor de función == true, si este tiempo es igual a otherTime
    //                       == false, en caso contrario

    return (hrs == otherTime.hrs && mins == otherTime.mins && secs == otherTime.secs);
}
//************************************************************************************************************************************************************************

bool Time::LessThan(Time otherTime) const
{
    //Precondición:
    //      La funcion Set ha sido invocada por lo menos una vez
    //      para este tiempo y otro tiempo (otherTime) && Este tiempo y otherTime representan tiempos en el mismo dia
    //Poscondición:
    //      Valor de función == true, si este tiempo está antes en el dia que otherTime
    //                       == false, en caso contrario

    return(hrs < otherTime.hrs || hrs == otherTime.hrs && mins < otherTime.mins || hrs == otherTime.hrs && mins == otherTime.mins && secs < otherTime.secs);
}
bueno lo que no entiendo es como funciona, como la uso
donde puedo poner un main() y despues como la uso

lo que entendi es que compilaba el .cpp de la clase y me hiba a dar un archivo que tiene codigo maquina pero aun no esta enlazado, depues hago lo mismo con el .cpp del programa donde la quiero utilizar y los uno pero no se como.
y como es que puedo harmar una clase,
si me puden ayudar o dar un enlaze donde
gracias.