Forum » Programiranje » [C++] Razred, struktura, kazalec na funkcijo
[C++] Razred, struktura, kazalec na funkcijo
mujek ::
Pozdravljeni,
Imam en razred. V tem razredu imam definirano strukturo, in polje te strukture:
Zdaj bi rad klical funkcijo na katero kaže gumbi[neka].klici.
Kazalec nastavim z:
klicat pa sem probal z
vendar mi ni uspelo.
Prosim če mi lahko kdo pomaga, in me pouči o tem. Sem googlal vendar nisem našel takega primera.
Hvala.
Imam en razred. V tem razredu imam definirano strukturo, in polje te strukture:
class Ui {
public:
bool prvic(int st);
bool drugic(int st);
..bla bla..
private:
struct Gumb {
int st;
char niz[10];
WINDOW *win; //kazalec na okno
bool (Ui::*klici)(int); //kazalec na funkcijo
};
Gumb gumbi[8];
..bla bla....
};
Zdaj bi rad klical funkcijo na katero kaže gumbi[neka].klici.
Kazalec nastavim z:
gumbi[i].klici = &Ui::prvic;
klicat pa sem probal z
out = (*this.gumbi.*klici)(i);
vendar mi ni uspelo.
Prosim če mi lahko kdo pomaga, in me pouči o tem. Sem googlal vendar nisem našel takega primera.
Hvala.
nimbix ::
Poskusi tako:
Tole pomeni: na instanci "gumb" kliči metodo, na katero kaže "gumb.klici".
(gumb.*(gumb.klici))(i);
Tole pomeni: na instanci "gumb" kliči metodo, na katero kaže "gumb.klici".
mujek ::
Hvala na odgovoru.
Sem poskušal pa mi ni hotel prevesti.
Zdaj mi dela z
(imam to kodo v eni metodi od objekta).
Torej če si prav predstavljam. na instanci *this (trenutna instanca objekta), pokliči metodo na katero kaze kazalec?
Sem poskušal pa mi ni hotel prevesti.
Zdaj mi dela z
bool Ui::Click_handler() {
bla bla..
for (i = 0; i < 8 i++) {
out = (*this.*(gumbi[i].klici))(i);
bla bla...(imam to kodo v eni metodi od objekta).
Torej če si prav predstavljam. na instanci *this (trenutna instanca objekta), pokliči metodo na katero kaze kazalec?
Tutankhamun ::
(this->*gumbi[i].klici)(i);
AMD Phenom QUAD 9950 Black Edition, 8GB
Zgodovina sprememb…
- spremenil: Tutankhamun ()
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | C# povezava forma in classaOddelek: Programiranje | 2564 (2027) | Miko55 |
| » | [C] struct in int[] (strani: 1 2 )Oddelek: Programiranje | 8244 (7317) | MrBrdo |
| » | [C++] Linker errorOddelek: Programiranje | 1392 (1392) | Quikee |
| » | [JAVA] rekurzivni izpis seznama z kazalciOddelek: Programiranje | 1901 (1659) | l0g1t3ch |
| » | [c++] globalne spremenljivke (extern)Oddelek: Programiranje | 1749 (1622) | Vesoljc |