Re: Получение поля класса с помощью шаблона
От: denisku Россия  
Дата: 25.08.04 08:11
Оценка:
Здравствуйте, Analitic, Вы писали:

A>Хотелось бы иметь такой вариант по аналогии с mem_fun, которая для класса вызывает определенную член этого класса функцию,написать универсальную функцию, ну либо функтор, который бы получал значение переменной члена класса по его имени.


Так пойдет? Только единственное, что надо указывать адрес переменной..(через амперсанд). Кстати, насколько я понимаю, когда ты передаешь адрес функции, надо тоже писать с амперсандом(по стандарту).
template <class T, class U>
int doProcessing(T& obj, U x) {
    int T::* ptr = x;
    return(obj.*ptr);
}
//---------------------------------------------------
class test_class {
    public:
     int a;

     test_class() : a(5) {}
};
//---------------------------------------------------
int main(int argc, char** argv) {
    test_class obj;

    std::cout << doProcessing(obj, &test_class::a);
 return(0);
}
Извините за потраченный траффик..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.