class Stanje
{
public:
Stanje() {}
virtual ~Stanje() {}
virtual void Izvjestaj() = 0;
}
class Normal:public Stanje
{
public:
Normal() { Izvjestaj(); }
virtual ~Normal() {}
virtual void Izvjestaj() { cout<<"Izvjestavam normalno stanje..." << endl;}
}
class Error:public Stanje
{
public:
Error() { Izvjestaj(); }
virtual ~Error() {}
virtual void Izvjestaj() {cout<<"Izvjestaj los!" << endl;}
}
class Alarm:public Stanje
{
public:
Alarm() { Izvjestaj(),Upozorenje(); }
virtual ~Alarm() {}
virtual void Upozorenje() { cout<<"UPOZORENJE!" << endl;}
virtual void Izvjestaj() { cout<<"Generalni alarm los!" << endl;}
virtual void Poziv() = 0;
}
class VatreniAlarm:public Alarm
{
public:
VatreniAlarm() { Izvjestaj(); }
virtual ~VatreniAlarm() {}
virtual void Poziv() { cout<<"Poziv za vatrogasce." << endl;}
virtual void Izvjestaj() {cout<<"Izvjestaj,pozar!" << endl;}
}
int main()
{
int input,okay = 1;
Stanje * pStanje;
while(1)
{
cout<<"(0)Izlaz (1)Normal (2)Pozar: ";
cin>>input;
okay = input;
switch(input)
{
case 0:
break;
case 1:
pStanje = new Normal;
delete pStanje;
break;
case 2:
pStanje = new VatreniAlarm;
delete pStanje;
break;
default:
pStanje = new Error;
delete pStanje;
okay = 0;
break;
}
}
char a;
cin>>a;
return 0;
}
Kompajler mi izbaci gresku u djelu program INT MAIN() u liniji gdje je otvorena velika zagrada {.Greska je u tome da su dvije cinjenice deklarisane u MAIN i tu mi gresku istu kompajler govori da sam napravio u istoj liniji cetri puta.Evo koja je greska:
two or more data types in declaration of `main'.
Kod je bas lagan,ali ima neka greska.
HVALA