Witam, może nie będę zbytnio tłumaczył o co chodzi, tylko po prostu wkleję kod który chciałbym żeby działał:
class cos
{
public:
cos() { asd = NULL; }
typedef void (*funkcja)();
void wykonajfunkcje() { if (asd) asd(); else printf(":("); }
funkcja asd;
};
class costam: public cos
{
public:
costam() { cos::asd = asd; }
void asd() { printf("bum"); }
};
class cospieknego: public cos
{
public:
cospieknego() { cos::asd = kwiatek; }
void kwiatek() { printf("kwiatek"); }
};
class cosbezczegos: public cos
{
public:
//... brak przypisania funkcji
};
i na taki kod kompilator się obraża, oczywiście próbowałem też definiowac typ funkcja jako:
typedef void (cos::*funkcja)(); ale również coś mu nie pasi, chodzi mi o coś w stylu typu funkcyjnego wirtualnego...