Ahoj jak muzu pouzit nestatickou metodu v metode staticke kdyz obe metody nalezi stejne tride? Predem dekuji za odpoved.
Fórum › C / C++
Volani nestaticke metody v metode staticke
Jestli se nepletu, tak nemuzes. Jediny zpusob, jak to obejit, co me napada je vytvorit si instanci sebe sama (tridy) a pak v teto instanci volat nestaticke metody. Ale prijde mi, ze to neni moc koser zpusob.
No nestaticku metodu v statickej asi fakt zavolat nezavolas, ale vytvorit instanciu objektu (popripade pouzit nejaku globalne vytvorenu) a pristupovat k jej nestatickym metodam je podla mna uplne eticke a v tomto pripade asi aj jediny sposob. :)
Nestatickou metodu ze statické bez instance objektu nezavoláš. Nevím jak v gtk, ale jinak lze předat při registraci callback funkce parametr, který se předává callback funkci. Takže předáš this a máš vyhráno. A jinak další způsob je vytvoření statické proměné (pointeru), do které si this (nebo něco jiného) uložíš a pak to můžeš bez problému používat.
tak uz me todle vlakno prinutilo napsat do google gtk callback.. a pokud me prvni odkaz nespletl tak se predava pointer na objekt, ktereho se callback tyka.. tim padem nechapu co resis.. maximalne muzes resit nejake dynamicke pretypovani
do callbacku se predava jako parametr ukazatel na objekt, pro ktery je vyvolan... static musi byt ta funkce proto, ze musi byt zavolatelna i bez objektu..
ovsem pokud to potrebujes nad jinym objektem tak jedine globalne .. nebo mit globalne nejaky seznam ukazatelu a najit jen tu spravnou..
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Staticke a nestaticke metody — založil vlado0991
C# - Volání ne-statické metody staticky z jiné třídy — založil David Klouček
Nestatické metody v hlavní třídě — založil ViliX64
Zavolanie metody v inej metode — založil marioff
Pretezovani staticke metody — založil Jenda
Moderátoři diskuze