برنامه اي كه با استفاده از توابع چند ريختي (polymorphism) فاكتوريل و حاصلضرب دو عدد را محاسبه مي نمايد. همانطور كه مشاهده مي شود يك تابع با يك نام در دو محل با دو مقدار مختلف از نظر نوع تعريف شده و اين نشاندهنده خواص توابع چند ريختي مي باشد.
#include <iostream.h>
#include <conio.h>
double fp(int x);
double fp(int x , int y);
main()
{
int a , b;
cin>>a>>b;
cout<<fp(a)<<'\t'<<fp(b)<<'\n';
cout<<fp(a,b)<<'\t'<<fp(b,a);
getch();
}
//////////func fp for fac
double fp(int x)
{
double fact = 1;
for(int i = 1; i <= x; i++)
fact *= i;
return fact;
}
/////////func fp for power
double fp(int x , int y)
{
double pow = 1;
for(int i = 1; i <= y; i++)
pow *= x;
return pow;
}