в С++ есть такая замечательная вещь как позднее связывание т.е.
virtual функции. Которые можно использовать примерно так:
////есть класс
/////////////////////////////////////////
class obj
{
object() {};
~object() {};
virtual int intersect( int , int )=0;
};
////////////////////////////////////////
///есть дочерние классы
class ADD

ublic object
{
/// + свои private переменные и методы
public:
virtual int intersect(int , int);
};
int ADD::intersect(int A, int B)
{
return A+B;
}
//// и еще один
class SUB

ublic object
{
/// + свои private переменные и методы
public:
virtual int intersect(int , int);
};
int SUB::intersect(int A, int B)
{
return A-B;
}
//// что мы имеем
void func(void)
{
obj *work[2];
ADD *A;
SUB *B;
A =new ADD; //создадим
B=new SUB; // объекты
work[0]=A; // присвоим из в массив
work[1]=B; //
printf("%d",work[0]->intersect(7,5)); // получаем 12 т.к. вызван метод класса ADD
printf("%d",work[1]->intersect(7,5)); // получаем 2 т.к. вызван метод класса SUB
}
//////////////////////////////////////////
как такие вещи реализуются в Axapta ???