#include <string>
#include <iostream>
using namespace std;
class SCHEDAMADRE: public COMPUTER
{
private:
bool stato;
string modello;
public:
SCHEDAMADRE(){modello="ASUS"; stato=false;};
~SCHEDAMADRE(){};
virtual void accendi();
virtual void spegni();
bool statoSM();
};
class SCHEDAVIDEO: public SCHEDAMADRE
{
private:
bool ventola;
bool accensione;
bool schermo;
string modello;
public:
SCHEDAVIDEO(){ventola=false; accensione=false; schermo=false; modello="nVidia";};
~SCHEDAVIDEO(){};
virtual void accendi();
virtual void spegni();
};
class PERIFERICHE: public SCHEDAMADRE
{
private:
bool lettore_CD;
bool Floppy_Disk;
bool USB1;
bool USB2;
bool USB3;
public:
PERIFERICHE(){lettore_CD=false; Floppy_Disk=false; USB1=false; USB2=false; USB3=false;};
~PERIFERICHE(){};
virtual void accendi();
virtual void spegni();
};
class PROCESSORE: public SCHEDAMADRE
{
private:
bool stato;
string modello;
public:
PROCESSORE(){stato=false; modello="Intel Core I5";};
~PROCESSORE(){};
virtual void accendi();
virtual void spegni();
};
class RAM: public SCHEDAMADRE
{
private:
bool stato;
string modello;
int quantita;
public:
RAM(){stato=false;modello="Kingston"; quantita=4;};
~RAM(){};
virtual void accendi();
virtual void spegni();
};
class AUDIO: public SCHEDAMADRE
{
private:
bool stato;
string modello;
public:
AUDIO(){stato=false;modello="Sound Blaster";};
~AUDIO(){};
virtual void accendi();
virtual void spegni();
};
class SCHEDADIRETE: public SCHEDAMADRE
{
private:
bool stato;
string modello;
bool connessione;
public:
SCHEDADIRETE(){stato=false; modello="Broadcom"; connessione=false;};
~SCHEDADIRETE(){};
virtual void accendi();
virtual void spegni();
};
class VENTOLE: public SCHEDAMADRE
{
private:
bool ventola1;
bool ventola2;
bool ventola3;
public:
VENTOLE(){ventola1=false; ventola2=false; ventola3=false;};
~VENTOLE(){};
virtual void accendi();
virtual void spegni();
};
class DISSIPATORE: public SCHEDAMADRE
{
private:
bool stato;
public:
DISSIPATORE(){stato=false;};
~DISSIPATORE(){};
virtual void accendi();
virtual void spegni();
};
class ALIMENTATORE: public SCHEDAMADRE
{
private:
bool stato;
public:
ALIMENTATORE(){stato=false;};
~ALIMENTATORE(){};
virtual void accendi();
virtual void spegni();
};
class HARD_DISK: public SCHEDAMADRE
{
private:
int quantita;
bool stato;
public:
HARD_DISK(){quantita=500; stato=false;};
~HARD_DISK(){};
virtual void accendi();
virtual void spegni();
};
class COMPUTER
{
private:
SCHEDAMADRE schedamadre;
RAM ram;
HARD_DISK hard_disk;
SCHEDAVIDEO schedavideo;
AUDIO audio;
VENTOLE ventole;
ALIMENTATORE alimentatore;
PROCESSORE cpu;
DISSIPATORE dissipatore;
PERIFERICHE periferiche;
SCHEDADIRETE schedadirete;
public:
COMPUTER(){};
~COMPUTER(){};
virtual void accendi();
virtual void spegni();
};