|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexandr S. Agranovsky 2:5020/400 06 Dec 2002 22:22:31 To : All Subject : Re: Указатель на функцию -------------------------------------------------------------------------------- Hi, Denis Kostousov DK> Есть класс, в нем кроме всего прочего есть 2 функции и переменная типа DK> указатель на функцию: DK> class A{ DK> ... DK> double (*TFunc)(long); DK> double func_1(long); DK> double func_2(long); DK> }; .... DK> Подскажите, где грабли зарыты? DK> Компиляция проводилась под ASPLinux-7.3 DK> g++ 2.96 Вот что я собрал и успешно запустил c помощью как и gcc-2.95.2 из Debian 2.2, так и gcc 2.96 из ALT Master 2.0, и получил ожидаемые результаты: #include<iostream.h> class A { public: A::A(void); double (A::*TFunc)(long); double func_1(long); double func_2(long); void test(long); }; A::A(void) { TFunc=&A::func_1; } double A::func_1(long p) { cout<<"func1:"<<p<<"\n"; return (double)p*2; } double A::func_2(long p) { cout<<"func2:"<<p<<"\n"; return (double)p/2; } void A::test(long p) { double f; f=func_1(p); cout<<f<<"\n"; f=func_2(p); cout<<f<<"\n"; f=(this->*TFunc)(p); cout<<f<<"\n"; } void main(void) { A ex; ex.test(3); }; Disclaimer (отмазка): С++ я не знаю, а речи Луговского меня убедили в том, что много я не потерял ;) - --- Alexandr S. Agranovsky llb@udmnet.ru --- ifmail v.2.15dev5 * Origin: LLB, LLC (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3642b7d2d34f.html, оценка из 5, голосов 10
|