ciao a tutti stavo incominciando a studiare le strutture e le classi
questo che riporto è il primo programma presentato per l'argomento classi e mi ha creato non poche difficoltà nel capirlo.
Il mio compilatore mi riporta una serie di errori, anche avevendolo copiato dal libro
codice:
#include <iostream>
using namespace std;
class tempo{ forward declaration "calss tempo"
pubblico:
tempo(); //costruttore multiple markers at this line
void settatempo (int,int, int); //imposta ora,minuti,secondi
void stampamilitare(); //visualizza orario in formato militare
void stampastandard(); //visualizza orario in formato standard
private:
int ora; multiple markers at this line
int minuto;
int secondo;
};
//il costruttore di tempo inizializza ogni dato a zero
tempo::tempo{} {ora=minuto=secondo=0;} multiple markers at this line
//imposto un nuovo valore di tempo utilizzando
//il formato militare.Controlla la validit dei dati ed
//imposta i valori non validi a 0
void tempo::settatempo(int o,int m ,int s) mi riporta errore dicendo che è privato
{
ora=(o>=0 && o<24) ? o:0; ora non è dichiarata
minuto=(m>=0 && m<60) ? m:0;
secondo=(s>=0 && s<60) ? s:0;
}
//stampa tempo in formato militare
void tempo::stampamilitare() mi riporta errore dicendo che è privato
{
cout<<(ora<10 ? "0" : "")<<ora<< ":"
<<(minuto<10 ? "0" : "")<<minuto;
}
void tempo::stampastandard() mi riporta errore dicendo che è privato
{
cout<<((ora==0 ||ora==12)?12 : ora %12)
<<":"<<(minuto<10 ? "0":"")<<minuto
<<":"<<(secondo<10 ? "0":"")<<secondo
<<(ora<12?" AM ":" PM ");
}
int main()
{
tempo t;
cout <<" il tempo militare iniziale è"; per tutti questi cout mi dice within this contest
t.stampamilitare();
cout<<"\n il tempo standard iniziale è";
t.stampastandard ();
t.settatempo(13,27,6);
cout<<"il tempo militare dopo è";
t.stampamilitare();
cout<<"\n il tempo standard dopo è";
t.stampastandard();
return 0;
}
a tutti questi errore che non capisco si aggiungono poi i comandi in se stessi
uno per tutti credo che sia
codice:
void tempo::settatempo(int o,int m ,int s)
si aggiunge il :: perchè la funzione settatempo è privata?
poi nel main si definisce t come oggetto della classe tempo,
perchè si fa uso delle funzioni precedute dal t.nomefunzione?