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
a tutti questi errore che non capisco si aggiungono poi i comandi in se stessicodice:#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; }
uno per tutti credo che sia
si aggiunge il :: perchè la funzione settatempo è privata?codice:void tempo::settatempo(int o,int m ,int s)
poi nel main si definisce t come oggetto della classe tempo,
perchè si fa uso delle funzioni precedute dal t.nomefunzione?

Rispondi quotando
