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.