Хотелось бы иметь такой вариант по аналогии с mem_fun, которая для класса вызывает определенную член этого класса функцию,написать универсальную функцию, ну либо функтор, который бы получал значение переменной члена класса по его имени.
Код привожу ниже:
Для функции
class a
{
public:
int b(){return 555};
};
template<typename A>
int doProcessing(
A& a,
void (A::*method)() // Передаем указатель на функцию
)
{
return (a.*method)(); // Непосредственно вызываем ее
}
main(...)
{
A a;
int i;
i = doProcessing(a, A::b); // Вызвали нужную функцию
};
Для обычного члена класса — переменной
class a
{
public:
int b;
};
template<typename A>
int doProcessing — а вот тут и сама задача, как описать функцию для получения значения переменной члена класса
main(...)
{
A a
int i;
i = doProcessing(a, A::b); // Получили нужный член класса
};
Кому интересно для чего это может понадобиться могу привести пример.