как определить хитрый указатель...
От: PaNov Россия  
Дата: 05.03.02 17:25
Оценка:
есть:
typedef double (*FuncGetParam)(int i,int j);
// некий класс, содержащий указатель на функцию
class A
{
public :
FuncGetParam func; // указатель на функцию
double getParam(int i, int j);
};

// это произвольный класс
class B
{
public :
double getParam(int i, int j);
};

// это произвольная функция...
double freeGetParam(int i, int j)
{
return 1.0;
}

надо сделать так, чтобы чтобы можно было присвоить указатель на произвольную функцию (совпадающую по передаваемым параметрам и возвращаемому результату), которая может быть как в самом классе "A", в другом классе "B", а может быть и просто отдельной функцией!

{
A a;
B b;
// надо, чтобы все эти варианты могли работать
A.func = a.getParam;
A.func = b.getParam;
A.func = freeGetParam;
}

в С++ Builder это делается определением функции вот таким способом:
typedef double (__closure *FuncGetParam)(int i,int j);
ключевое слово — "__closure"
как такое же сделать в Visual C++ ?????
если стандартными способами это не делается, покажите, как реализовать нестандартными...
большой сенк!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.