4️⃣Data [12]

Scrivere una classe che rappresenti un file con nome, estensione e date di creazione, modifica e ultimo accesso (6 punti).

Risposta
#include <iostream>
#include <ctime>

using namespace std;

class File {
private:
  string nome;
  string estensione;
  Data dataCreazione;
  Data dataModifica;
  Data dataAccesso;

public:
  // Costruttori con parametri obbligatori
  File(string n, string e, Data c, Data m, Data a) : nome(n),
  estensione(e),
  dataCreazione(c),
  dataModifica(m),
  dataAccesso(a) {}
};

La classe file deve includere un operatore <= che usa la data di creazione per il confronto. Non implementare un costruttore di default. La data deve includere giorno, mese e anno + ora, minuto e secondo; creare la classe data (3 punti).

Risposta

class File

bool operator<=(const File& f) const {
  return dataCreazione <= f.dataCreazione;
}

class Data

class Data {
public:
  int giorno, mese, anno;
  int ora, minuto, secondo;  
  Data(int g, int m, int a, int h, int min, int s) {
    giorno = g;
    mese = m;
    anno = a;
    ora = h;
    minuto = min;
    secondo = s;
  }

Indicare se le due classi hanno bisogno di implementare il costruttore di copia, l’operatore di assegnazione e un distruttore e motivare la risposta. (3 punti)

Risposta

Last updated