Classi

di il
7 risposte

Classi

Stavo studiando le classi ma credo di non averle capite bene... infatti non riesco a capire perché mi da errore nella 14esima linea.... mi dice che non ho dichiarato la classe frigo ma è impossibile vi prego aiutatemi:
#include <iostream>
using namespace std;
class Frigo
{
      public:
              Frigo();
              Frigo(string _ap, string _pi, int _temp);
              void lettura();
              void scrittura();
      private:
              int temperatura;
              string apertochiuso,pienovuoto;
};
              Frigo::Frigo(string _ap,string _pi,int _temp);
              {
                                  apertochiuso=_ap;
                                  pienovuoto=_pi;
                                  temperatura=_temp;
              }

Frigo::lettura()
              {
                 cout << "Il frigo e' aperto o chiuso?" << endl;
                 cin >> apertochiuso;
                 cout << "Il frigo e' pieno o vuoto?" << endl;
                 cin >> pienovuoto;
                 cout << "Qual'e' la temperatura del frigo?" << endl;
                 cin >> temperatura;
              }
Frigo::scrittura()
                  {
                        cout << "Il frigo e' " << apertochiuso << "e " << pienovuoto << " e la temperatura e' di " << temperatura << " gradi" << endl;
                  }
int main()
{
    int temperatura;
    string apertochiuso,pienovuoto;
    Frigo r(aperto,pieno,temperatura);
    r.lettura;
    r.scrittura;
    system ("pause");
}

7 Risposte

  • Re: Classi

    Manca l'include #include <string>

    In Frigo::Frigo(string _ap,string _pi,int _temp); c'è il ; finale di troppo

    In Frigo::lettura() e Frigo::scrittura() manca il void prima

    In r.lettura; e r.scrittura; mancano le parentesi degli argomenti r.lettura(); e r.scrittura();

    In Frigo r(aperto,pieno,temperatura); aperto e pieno non si sa cosa siano
  • Re: Classi

    Uaaaaa vero mi so scordato di #include <string>
    ecco il programma svolto senza errori
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    class Frigo
    {
          public:
                  Frigo();
                  Frigo(string _ap, string _pi, int _temp);
                  void lettura();
                  void scrittura();
          private:
                  int temperatura;
                  string apertochiuso,pienovuoto;
    };
                  Frigo::Frigo(string _ap,string _pi,int _temp)
                  {
                                      apertochiuso=_ap;
                                      pienovuoto=_pi;
                                      temperatura=_temp;
                  }
    
    void Frigo::lettura()
                  {
                     cout << "Il frigo e' aperto o chiuso?" << endl;
                     cin >> apertochiuso;
                     cout << "Il frigo e' pieno o vuoto?" << endl;
                     cin >> pienovuoto;
                     cout << "Qual'e' la temperatura del frigo?" << endl;
                     cin >> temperatura;
                  }
    void Frigo::scrittura()
                      {
                            cout << "Il frigo e' " << apertochiuso << " e " << pienovuoto << ", e la temperatura e' di " << temperatura << " gradi" << endl;
                      }
    int main()
    {
        int temperatura;
        string aperto,pieno;
        Frigo r(aperto,pieno,temperatura);
        r.lettura();
        r.scrittura();
        system ("pause");
    }
    
  • Re: Classi

    Se lo dici tu che è senza errori
    Frigo r(aperto,pieno,temperatura);
    Al costruttore dai in pasto dati non inizializzati e questo è un errore.
  • Re: Classi

    Ma non è che volevi scrivere

    Frigo r("aperto","pieno",4);

    ?
  • Re: Classi

    Non capisco, il programma richiede che la temperatura sia dato per poi essere restituito insieme agli altri parametri... non capisco il senso di mettere 4
    E poi ho usato questo esempio per capire come funzionano le classi, ovviamente se volevo svolgere questo genere di algoritmo lo semplificavo al massimo
  • Re: Classi

    La temperatura passata nel costruttore è quella iniziale impostata al momento della creazione dell'oggetto.

    Cosa non capisci?
  • Re: Classi

    Ahhh ho capito
    mi ripeto.
    Questo codice non include nessuna funzione, restituisce solo il dato fornito dall'utente, è un codice che ho scritto per capire come lavorano le classi tutto qua, non l'ho scritto per fare chissà che funzioni algebrico/matermatiche
Devi accedere o registrarti per scrivere nel forum
7 risposte