czy ktos wie jak zadeklarowac wskaznic do funkcji wewnatrz obiektu
( cos takiego oczywiscie nie dziala: void (*funckja)(void parametr) )
z gory dzieki za odpowiedz
czy ktos wie jak zadeklarowac wskaznic do funkcji wewnatrz obiektu
( cos takiego oczywiscie nie dziala: void (*funckja)(void parametr) )
z gory dzieki za odpowiedz
dołączam sie do pytania :-|
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]
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
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]
Hmmm...
Napisałem takie coś :
[code]int funkcja(int x)
{
cout
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;