Să se proiecteze și să se implementeze o ierarhie de clase pentru descrierea fenomenelor meteo astfel încat următoarea secvența de cod să poată fi executată corect.
FenomenMeteo *p[3]
p[0] = new Vant(80,”cod galben”);
p[1] = new Ceata(100,”Oltenia”);
p[2] = new Lapovita(8,12,”Vineri”);
for(int i = 0; i < 3; i++)
{
p[i] -> LocalizareFenomen();
delete p[i];
}
Răspunsuri la întrebare
#include <string>
#include <iostream>
using namespace std;
class FenomenMeteo
{
public:
virtual void LocalizareFenomen() = 0;
};
class Vant:public FenomenMeteo
{
public:
Vant(int i1, string s):i1(i1), cod(s) {}
void LocalizareFenomen()
{
cout << "Vant : " << i1 << " " << cod << endl;
}
private:
int i1;
string cod;
};
class Ceata:public FenomenMeteo
{
public:
Ceata(int i1, string l):i1(i1), locatie(l) {}
void LocalizareFenomen()
{
cout << "Ceata : " << i1 << " " << locatie << endl;
}
private:
int i1;
string locatie;
};
class Lapovita:public FenomenMeteo
{
public:
Lapovita(int i1, int i2, string l):i1(i1), i2(i2), zi(l) {}
void LocalizareFenomen()
{
cout << "Lapovita : "<< i1 << " " << i2 << " " << zi << endl;
}
private:
int i1, i2;
string zi;
};