definicja wskaznika do funkcji w obiekcie

Odpowiedz Nowy wątek
lama
2003-02-13 09:12
lama
0

czy ktos wie jak zadeklarowac wskaznic do funkcji wewnatrz obiektu
( cos takiego oczywiscie nie dziala: void (*funckja)(void parametr) )

z gory dzieki za odpowiedz

Pozostało 580 znaków

2003-02-13 14:56

Rejestracja: 17 lat temu

Ostatnio: 16 minut temu

0

dołączam sie do pytania :-|


Pozostało 580 znaków

2003-02-14 12:51
Administrator

Rejestracja: 17 lat temu

Ostatnio: 2 godziny temu

Lokalizacja: Poznań

0

Wybacz, ale tak to napisałeś, że prawie nie kumam, o co pytasz.
Ale chyba chodzi Ci o coś takiego (jeśli się mylę, to podaj więcej szczegółów):
[code]typedef BOOL (WINAPI *PNPROC)(HANDLE, LPPROCESSENTRY32);
PNPROC PrcFirst;
PrcFirst = (PNPROC)GetProcAddress(kernel, "Process32First");[/code]


Pozostało 580 znaków

2003-02-15 12:58

Rejestracja: 17 lat temu

Ostatnio: 13 lat temu

0

Wytłumaczcie mi jakie zadanie ma spełniać ten wskaźnik do funkcji w tym obiekcie bo ja zupełnie nie rozumiem pytania ?? Czy ma być argumentem metody ?? czy co ??
wiem że nie o to chodzi , ale ja tak np widze zastosowanie wskaźnika do funkcji w obiekcie :

[code]int funkcja(void) { cout


Pozostało 580 znaków

lama
2003-02-15 22:23
lama
0

poprzednio nie wyrazilem sie jasno

/ bez obiektu wyglada to tak: /
int funkcja1 (int a, int b) {return a+ b} // dodaje
int funkcja2 (int a, int b) {return a- b}; // zwraca roznice

/ ciala powyzszych funkcji /

int (*funckja) (int, int);

/w programie przypisuje wskaznik funkcji:/

funckja= funckja2;

printf("roznica: %d", funckja( 2,1) );

/czyli wywoluje funkcje na ktora wskazuje wskaznik funkcja i nie obchodzi mnie jak wyglada wewnatrz "funkcja2" /

chce zrobic cos podobnego w obiekcie
np.

class Klasa
{
public:
int (*funckja) (int, int); //czy jakakolwiek innego typu funkcja
// jak to zapisac?
}klasa;

cos takiego sie NIE kompiluje.
chce wywolac klasa.funckja (parametry) (czyli tym samym funkcje na ktora wskazuje wskaznik *funkcja), a nie obchodzi mnie sama wskazywana funkcja.
help! [glowa]

Pozostało 580 znaków

2003-02-15 23:18

Rejestracja: 17 lat temu

Ostatnio: 13 lat temu

0

Hmmm...
Napisałem takie coś :
[code]int funkcja(int x)
{
cout


Pozostało 580 znaków

2003-02-15 23:44

Rejestracja: 17 lat temu

Ostatnio: 11 miesięcy temu

0

Nie wiem, czy to wam pomoże, ale w Delphi coś takiego robi się tak:

type Funkcja = function (a, b: Integer): Integer;

type Obiekt = class (TObject)
public
F: Funkcja;
end;

function Dodawanie(a, b: Integer): Integer;
begin
Result := a + b;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
o: Obiekt;
begin
o := Obiekt.Create;
o.F := Dodawanie;
ShowMessage(IntToStr(o.F(1,2)));
o.Free;
end;


Jest jeszcze jeden błąd :)
Unix is user friendly. It's just very particular about who it's friends are.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0