#include <iostream>
#include <string.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
class function
{
public:
virtual float value(float x);
};
class sinf:public function
{
public:
virtual float value(float x){return sin(x);}
};
class xf:public function
{
public:
virtual float value(float x){return x;}
};
class number:public function
{
const float num;
public:
number(float n=0):num(n){}
virtual float value(float x){return num;}
};
int main()
{
// vector < function * > flist( 3 );
float sum=0;
function *flist[2];
flist[0]=new xf;
flist[2]=new sinf;
flist[1]=new number(7);
for(int i=0;i<3;i++)
{
sum+=flist[i]->value(3.14);
}
cout<<sum;
system("pause");
return 0;
}