Полиморфизам
Полиморфизам значи „многу форми“, а се јавува кога имаме многу класи кои
се поврзани едни со други по наследство.
Полиморфизам C ++ значи дека повик до функција-член ќе
предизвика извршување на друга функција во зависност од видот на
објектот што ја повикува функцијата.
Пример
#include <iostream>
using namespace std;
class Figura {
protected:
int sirina, visina;
public:
Figura( int a = 0, int b = 0) {
sirina = a;
visina = b;
}
void setVrednosti (int a, int b)
{
sirina=a;
visina=b;
}
virtual void povrsina()
{}
};
class Pravoagolnik: public Figura {
public:
Pravoagolnik( int a = 0, int b = 0):Figura(a, b)
{ }
void povrsina () {
cout << "Pravoagolnik klasa povrsina
:" <<sirina * visina<<endl;
}
};
class Triagolnik: public Figura{
public:
Triagolnik( int a = 0, int b =
0):Figura(a, b)
{ }
void povrsina () {
cout << "Triagolnik
klasa povrsina :" <<sirina * visina / 2<<endl;
}
};
int main( ) {
Pravoagolnik rec;
Triagolnik tri;
rec.setVrednosti(7,8);
rec.povrsina();
tri.setVrednosti(7,8);
tri.povrsina();
Figura *f1=&rec;
Figura *f2=&tri;
f1->setVrednosti(5,7);
f2->setVrednosti(5,7);
f1->povrsina();
rec.povrsina();
f2->povrsina();
tri.povrsina();
return 0;
}