Pensavo che fosse solo cattivo gusto far iniziare in nome di una classe con una lettera minuscola, invece a quanto pare e' anche un errore !
VVoVe:
Comunque sia attento anche alle chiamate di funzioni membro, gli errori sono riportati nel codice qui sotto ( che compila, ma che non ho provato ) :
codice:
#include <iostream>
using namespace std;
class Time
{
public:
Time();
void Tempo(int, int, int );
void ora_militare(int, int );
void ora_standard(int, int, int );
private:
int ore;
int minuti;
int secondi;
};
Time::Time() : ore(0), minuti(0), secondi(0) {}
void Time::Tempo(int h,int m,int s)
{
ore = (h>=0 && h<24)?h:0;
minuti = (m>=0 && m<59)?m:0;
secondi = (s>=0 && s<59)?s:0;
}
void Time::ora_militare(int h, int m)
{
cout<<(h<10?0:"")<<ore<<":"<<(m<10?0:"")<<minuti;
}
void Time::ora_standard(int h,int m,int s)
{
cout<<((ore==0||ore==12)?12:ore%12)<<":"<<(m<10?0:"")<<minuti<<":"<<(s<10?0:"")<<secondi<<(h<12?"AM":"PM");
}
int main()
{
Time t;
cout<<"Inizialmente l'orario militare e' ";
//t.ora_militare(); // <-- errore! stai cercando di chiamare una funzione
// ora_militare membro di Time senza argomenti, mentre
// l' unica funzione ora_militare() richiede 3 argomenti int !
cout<<"mentre quella standard e' ";
//t.ora_standard(); // idem.
t.Tempo(13,2,14);
//t.ora_militare(); // idem.
//t.ora_standard(); // idem.
t.Tempo(99,99,3);
//t.ora_militare(); // idem.
//t.ora_standard(); // idem.
//system ("pause"); // nel mio calcolatore devo togliere questa istruzione altrimenti
// non compila ( non so se la dichiarazione si trovi in altri header
// che non hai incluso o non e' compatibile con il mio sistema ).
return 0;
}