📢 Nuovo Corso Bootstrap Completo disponibile!

Esercizi Interfacce C++

Ecco degli esercizi semplici con soluzione per praticare le basi delle interfacce in C++.

Esercizio 1

Crea un'interfaccia Veicolo con un metodo virtuale puro accelera che rappresenta l'azione di accelerazione del veicolo.
#include <iostream>
using namespace std;
class Veicolo {
public:
virtual void accelera() = 0;
};
int main() {
// Veicolo v; // Errore: impossibile istanziare un'interfaccia
return 0;
}

Esercizio 2

Crea una classe Automobile che implementa l'interfaccia Veicolo e implementa il metodo accelera per rappresentare l'accelerazione dell'automobile.
#include <iostream>
using namespace std;
class Veicolo {
public:
virtual void accelera() = 0;
};
class Automobile : public Veicolo {
public:
void accelera() override {
cout << "L'automobile accelera." << endl;
}
};
int main() {
Veicolo* v = new Automobile();
v->accelera();
return 0;
}

Esercizio 3

Crea una classe Moto che implementa l'interfaccia Veicolo e implementa il metodo accelera per rappresentare l'accelerazione della moto.
#include <iostream>
using namespace std;
class Veicolo {
public:
virtual void accelera() = 0;
};
class Moto : public Veicolo {
public:
void accelera() override {
cout << "La moto accelera." << endl;
}
};
int main() {
Veicolo* v = new Moto();
v->accelera();
return 0;
}

Esercizio 4

Crea un'interfaccia Suonabile con un metodo virtuale puro eseguiSuono che rappresenta l'azione di esecuzione di un suono.
#include <iostream>
using namespace std;
class Suonabile {
public:
virtual void eseguiSuono() = 0;
};
int main() {
// Suonabile s; // Errore: impossibile istanziare un'interfaccia
return 0;
}

Esercizio 5

Crea una classe Chitarra che implementa l'interfaccia Suonabile e implementa il metodo eseguiSuono per rappresentare l'esecuzione del suono di una chitarra.
#include <iostream>
using namespace std;
class Suonabile {
public:
virtual void eseguiSuono() = 0;
};
class Chitarra : public Suonabile {
public:
void eseguiSuono() override {
cout << "La chitarra suona." << endl;
}
};
int main() {
Suonabile* s = new Chitarra();
s->eseguiSuono();
return 0;
}

Esercizio 6

Crea una classe Pianoforte che implementa l'interfaccia Suonabile e implementa il metodo eseguiSuono per rappresentare l'esecuzione del suono di un pianoforte.
#include <iostream>
using namespace std;
class Suonabile {
public:
virtual void eseguiSuono() = 0;
};
class Pianoforte : public Suonabile {
public:
void eseguiSuono() override {
cout << "Il pianoforte suona." << endl;
}
};
int main() {
Suonabile* s = new Pianoforte();
s->eseguiSuono();
return 0;
}

Esercizio 7

Crea un'interfaccia Distribuibile con un metodo virtuale puro distribuisci che rappresenta l'azione di distribuzione di un oggetto.
#include <iostream>
using namespace std;
class Distribuibile {
public:
virtual void distribuisci() = 0;
};
int main() {
// Distribuibile d; // Errore: impossibile istanziare un'interfaccia
return 0;
}

Esercizio 8

Crea una classe Libro che implementa l'interfaccia Distribuibile e implementa il metodo distribuisci per rappresentare la distribuzione di un libro.
#include <iostream>
using namespace std;
class Distribuibile {
public:
virtual void distribuisci() = 0;
};
class Libro : public Distribuibile {
public:
void distribuisci() override {
cout << "Il libro viene distribuito." << endl;
}
};
int main() {
Distribuibile* d = new Libro();
d->distribuisci();
return 0;
}

Esercizio 9

Crea una classe Film che implementa l'interfaccia Distribuibile e implementa il metodo distribuisci per rappresentare la distribuzione di un film.
#include <iostream>
using namespace std;
class Distribuibile {
public:
virtual void distribuisci() = 0;
};
class Film : public Distribuibile {
public:
void distribuisci() override {
cout << "Il film viene distribuito." << endl;
}
};
int main() {
Distribuibile* d = new Film();
d->distribuisci();
return 0;
}

Esercizio 10

Crea un'interfaccia Scrivibile con un metodo virtuale puro scrivi che rappresenta l'azione di scrittura di un contenuto.
#include <iostream>
using namespace std;
class Scrivibile {
public:
virtual void scrivi() = 0;
};
int main() {
// Scrivibile s; // Errore: impossibile istanziare un'interfaccia
return 0;
}