#include #include using namespace std; class GeometrijskiObjekat { public: virtual ~GeometrijskiObjekat() {} virtual double Povrsina() const = 0; }; class Pravougaonik : public GeometrijskiObjekat { public: Pravougaonik( double a, double b ) : _Sirina(a), _Visina(b) {} double Povrsina() const { return _Sirina * _Visina; } private: double _Sirina, _Visina; }; class Kvadrat : public Pravougaonik { public: Kvadrat( double a ) : Pravougaonik( a, a ) {} }; class Krug : public GeometrijskiObjekat { public: Krug( double a ) : _Poluprecnik(a) {} double Povrsina() const { return _Poluprecnik * _Poluprecnik * M_PI; } private: double _Poluprecnik; }; double povrsina( GeometrijskiObjekat** niz, unsigned velicina ) { double p = 0; for( unsigned i=0; iPovrsina(); return p; } main() { GeometrijskiObjekat* niz[] = { new Kvadrat(10), new Pravougaonik(10,20), new Krug(10) }; cout << "Ukupna povrsina je: " << povrsina( niz, 3 ) << endl; delete niz[0]; delete niz[1]; delete niz[2]; }