Informatică, întrebare adresată de Rayzen, 8 ani în urmă

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];
}


CinevaFaraNume: Ce face metoda "LocalizareFenomen"?
Rayzen: Orice vrem noi.
Rayzen: Poate afișa orice membru al obiectului clasei respective.
Rayzen: de exemplu pentru p[i] afiseaza "vant" sau "cod galben", nu stiu.

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

#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;

};


Rayzen: Mersii !!
CinevaFaraNume: Cu placere
Alte întrebări interesante