Wskaźniki do funkcji w C++ (mały problem) !!

0

mam kod jak poniżej i chcę w konstruktorze "samochod" odebrać wskaźnik do publicznej funkcji "trasy1" z klasy "drogi" ? jak to zrobić i w czym tkwi błąd ponizszego kodu .... ;)

//******************************************************
class drogi{
public:

void trasa1(int *alfa,float *x,float *y);

};

void drogi::trasa1(int alfa,float x, float y)
{
x -= 0.1;
if (x <= -3)
x = 3;
}
//
*************************************************

class samochod{
int kat;
float x,y;
public:

void (*trasa)(int*,float*,float*); //definicja wskaznika do funkcji

samochod(void(*tr)(int *,float*,float*) ):trasa(tr){}; //konstruktor

void rysuj()  //jakas skaladowa funkcja
{
	(*trasa)(&kat,&x,&y);
}

};
//*******************************************************

void main()
{
drogi A4;

samochod CZERWONY( A4.trasa1 ); // ?  tu tkwi problem  (to raczej odapda )
samochod CZERWONY( drogi::trasa1 );  // ?    i tu tez ;/

cout<<"koniec";

}

0

A nie prościej do konstruktora klasy samochod wpuścić wskaźnik do instancji klasy drogi?

0

OK. spróbujemy ;)

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