указатель на функцию - член класса
От: Русланыч http://asmru.virtualave.net
Дата: 08.08.01 17:01
Оценка:
#include<iostream.h>
class Test{
int val;
public:
Test(int a):val(a){}
void (Test::*f_pointer)(void);
void f_func1(void){
//при обращении к val-ошибка
cout<<"\nFunc1-"<<this->val;
}
void f_func2(void){
//при обращении к val-ошибка
cout<<"\nFunc2-"<<val;
}
};
int main(){
Test ob(123);
Test ob2(321);
ob.f_pointer=ob.f_func1;
__asm{
call ob.f_pointer;
}
ob.f_pointer=ob.f_func2;
__asm{
call ob.f_pointer;
}
ob2.f_pointer=ob2.f_func1;
__asm{
call ob2.f_pointer;
}
ob2.f_pointer=ob2.f_func2;
__asm{
call ob2.f_pointer;
}
/*
ob.f_pointer();
Вот это не работает, работает только через
ассемблерные вставки.
*/
return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.