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";
}