|
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
exeman
Mistrz grilla
Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów
Skąd: znienacka
|
Wysłany: Czw 1:11, 11 Sty 2007 Temat postu: Wskaznik do metody. |
|
|
Mam pytanie. Czy da sie uzyskać wskaźnik do metody? Jakoś tak bezpośrednio w miare bez kombinowania? W C++ oczywiście :>
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Stasiu
zielony żul
Dołączył: 16 Lis 2005
Posty: 920
Przeczytał: 0 tematów
Skąd: krk
|
Wysłany: Czw 1:49, 11 Sty 2007 Temat postu: |
|
|
eee chyba sie nie da, bo dla kazdej instancji klasy jest kopia metody, zajmujaca inne miejsce w pamieci... jezeli metoda jest "static" to wtedy sie da. Chyba ze istieja jakies super kruczki ;p
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
exeman
Mistrz grilla
Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów
Skąd: znienacka
|
Wysłany: Czw 1:53, 11 Sty 2007 Temat postu: |
|
|
Tak tak, mowa o objekcie. Chce uzyskac wskaznik do metody objektu :P Static dziala, ale to srednio rozwiazuje problem...
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
oinopion
żul
Dołączył: 28 Lis 2005
Posty: 858
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Czw 2:23, 11 Sty 2007 Temat postu: |
|
|
To jest ciężka sprawa. Mi się przez 2 dni próbowania nie udało. Ale teraz usłyszałem, że się da, tylko ten wskaźnik musi być uruchomiony w otoczeniu właściwym klasie, z której pochodzi. Ale, exe, IMHO lepiej wymyślić coś innego, niż wskaźnik do metody. Najprościej jest zwykle przekazać obiekt, który w zasadzie ma tylko jedeną metodę. To jest dużo łatwiejsze.
@Stasiu: are you sure??? bo mi się wydaje, że strasznie pleciesz. Niby w jakim celu obiekt miałby nieść ze sobą całą funkcję?
EDIT:
W sumie to sam już nie wiem. Zakręcone to. Zerknij tutaj, na dole:
[link widoczny dla zalogowanych]
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
exeman
Mistrz grilla
Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów
Skąd: znienacka
|
Wysłany: Czw 2:50, 11 Sty 2007 Temat postu: |
|
|
oinopion, chodzi o to, ze np. biblioteki opengl'a, chca wskaznika do funkcji ktora "generuje klatke". Zrobilem to tak, ze zezwolilem na tylko jedna instancje klasy jednoczesnie, wskaznik do objektu umieszczany jest w globalnej zmiennej, a nastepnie porobilem statyczne fake'owe statyczne metody, ktore wywoluja prawdziwe metody objektu, ktory znajduje sie pod zmienna globalna. Straszne kombinowanie, burzy to wszelka obiektowosc, ale coz...
Co do linka, to za chwile poczytam, z gory dzieki!
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Spectro
Mistrz grilla
Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów
Skąd: Kurdwanów
|
Wysłany: Czw 11:22, 11 Sty 2007 Temat postu: |
|
|
Jeżeli dobrze zrozumiałem, to chodzi o sytuację, kiedy chcemy mieć wskaźnik do metody znajdującej się w określonej klasie. Konstrukcja (z inicjalizacją) będzie wyglądała jakoś tak:
Kod: | int (klasa::*wskaznik)(int, float) = &klasa::jakas_metoda; |
O ile jakas_metoda przyjmuje argumenty int oraz float, a zwraca int ;) .
Kod: | klasa jakis_obiekt;
int jakas_zmienna = (jakis_obiekt.*wskaznik)(72, 3.6f);
|
Oczywiście to dotyczy tylko funkcji niestatycznych.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
kg86
zielony żul
Dołączył: 22 Gru 2005
Posty: 1194
Przeczytał: 0 tematów
Skąd: pochodze?
|
Wysłany: Czw 13:54, 11 Sty 2007 Temat postu: |
|
|
a co jesli jest to metoda private? :) mozna sie odwolac z zewnatrz klasy do takiej metody poprzez wskaznik do niej? :) w sumie cos takiego tez mogloby mi sie przydac ;)
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Spectro
Mistrz grilla
Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów
Skąd: Kurdwanów
|
Wysłany: Czw 16:25, 11 Sty 2007 Temat postu: |
|
|
kg86 napisał: | a co jesli jest to metoda private? :) mozna sie odwolac z zewnatrz klasy do takiej metody poprzez wskaznik do niej? :) w sumie cos takiego tez mogloby mi sie przydac ;) |
Jeśli jest private, to raczej ten mechanizm nie zadziała ;] . To byłoby oszustwo, skoro ten składnik nie ma być widoczny z zewnątrz :P .
|
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|