Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Wskaznik do metody.

 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Programowanie
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

PostWysł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 profil autora
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

PostWysł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 profil autora
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

PostWysł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 profil autora
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

PostWysł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 profil autora
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

PostWysł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 profil autora
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

PostWysł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 profil autora
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?

PostWysł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 profil autora
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

PostWysł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
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Programowanie Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
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
Regulamin